当前位置: 首页 > news >正文

站长工具pr值查询企业邮箱网页版

站长工具pr值查询,企业邮箱网页版,武汉做网站网络公司,长沙企业网站建设公司一、环形链表 141.环形链表(题目链接) 思路:使用快慢指针,慢指针走一步,快指针走俩步,如果是环形链表,那么快慢指针一定相遇,如果不是环形结构那么快指针或者快指针的next一定先为N…

一、环形链表

141.环形链表(题目链接)

思路:使用快慢指针,慢指针走一步,快指针走俩步,如果是环形链表,那么快慢指针一定相遇,如果不是环形结构那么快指针或者快指针的next一定先为NULL.

代码如下:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef   struct ListNode ListNode ;
bool hasCycle(struct ListNode *head) {if(head==NULL||head->next==NULL){return false;}ListNode* fast=head;ListNode* slow=head;while(fast&&fast->next){fast=fast->next->next;slow=slow->next;if(fast==slow){return true;}}return false;}

 二、环形链表||

142.环形链表||(题目链接)

思路:用快慢指针方式。慢指针走一步,快指针走俩步,如果是环形,那么快慢指针第一次相遇快指针走的次数是慢指针的俩倍,S(快)=2k,S(慢)=k,而且快指针比慢指针多走一个环形(这里可以验证:快指针第一次超越慢指针不可能越过慢指针,必定重合,可自行画图解析) ,即k=一圈的节点数,也就是慢指针此时从第一节点出发走了一个环形节点数步数,若此时让快指针从头节点出发,慢指针从原位置出发,俩指针每次都走一步,快指针走a步到达入环的第一个节点,那么慢指针是不是走a+k次呢?是不是可以认为慢指针先走a次,到达入环第一个节点,然后再走(k次=一圈)回到原位置呢。

代码如下: 

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef struct ListNode ListNode;
struct ListNode *detectCycle(struct ListNode *head) {if(head==NULL||head->next==NULL){return NULL;}ListNode* fast=head;ListNode*slow=head;do{slow=slow->next;fast=fast->next->next;}while((fast!=NULL&&fast->next!=NULL&&slow!=fast));if(fast==NULL||fast->next==NULL){return NULL;}if(slow==fast){fast=head;}while(fast!=slow){slow=slow->next;fast=fast->next;}return fast;
}

三、俩俩交换链表中的节点

 24.俩俩交换链表中的节点

解法一:递归思想

1)将大化小:将整个链表俩俩交换节点化为前俩个节点交换后指向后面整体俩俩交换的部分链表,以此层层递进,将整体化为部分

2)出口:最后剩一个节点或NULL,则返回此节点

创造新的头节点为链表的头节点的第二个节点,让原来的头节点指向后面交换返回的节点,让新头节点指向原头节点,返回新头节点 

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef struct ListNode ListNode;
struct ListNode* swapPairs(struct ListNode* head) {if(head==NULL||head->next==NULL){return head;}ListNode*  newhead=head->next;head->next=swapPairs(newhead->next);newhead->next=head;return newhead;
}

 解法二:迭代思想

创造一个哑节点,为node,紧跟后面的节点为node1和node2,每次交换node1和node2的位置,然后node走到交换后node1的位置,继续交换后面俩个节点的位置,直到后面没有节点或只有一个节点

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef struct ListNode ListNode;
struct ListNode* swapPairs(struct ListNode* head) {if(head==NULL||head->next==NULL){return head;}ListNode*node=(ListNode*)malloc(sizeof(ListNode));ListNode*tmp=node;tmp->next=head;while(tmp->next!=NULL&&tmp->next->next!=NULL){ListNode*node1=tmp->next;ListNode*node2=tmp->next->next;node1->next=node2->next;node2->next=node1;tmp->next=node2;tmp=node1;}return node->next;
}

四、排序链表

148.排序链表(题目链接) 

 

 思路: 用一个数组存储链表的所有数据, 然后对数组进行快排, 然后将数据填入链表 ,返回即可

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/int compare(const void *e1,const void *e2){return *((int*)e1)-*((int*)e2);}typedef struct ListNode ListNode;
struct ListNode* sortList(struct ListNode* head) {if(head==NULL||head->next==NULL){return head;}//至少俩个节点int arr[50000];ListNode*pcur=head;int i=0;while(pcur){arr[i]=pcur->val;i++;pcur=pcur->next;}qsort(arr,i,sizeof(int),compare);pcur=head;for(int j=0;j<i;j++){pcur->val=arr[j];pcur=pcur->next;}return head;
}


文章转载自:
http://dinncosmelting.zfyr.cn
http://dinncozest.zfyr.cn
http://dinncopreceptor.zfyr.cn
http://dinncointerruptor.zfyr.cn
http://dinncoromola.zfyr.cn
http://dinncoamphimictical.zfyr.cn
http://dinncosulphonate.zfyr.cn
http://dinncolimenian.zfyr.cn
http://dinncocoalfield.zfyr.cn
http://dinncovodun.zfyr.cn
http://dinncopurism.zfyr.cn
http://dinncoalienator.zfyr.cn
http://dinncoazotobacter.zfyr.cn
http://dinncoparang.zfyr.cn
http://dinncocommissionaire.zfyr.cn
http://dinncocouloir.zfyr.cn
http://dinncoscrotum.zfyr.cn
http://dinncomagneto.zfyr.cn
http://dinncoceeb.zfyr.cn
http://dinncoacoustically.zfyr.cn
http://dinncomexicali.zfyr.cn
http://dinncosubcuticular.zfyr.cn
http://dinncodemonologist.zfyr.cn
http://dinncoassur.zfyr.cn
http://dinncons.zfyr.cn
http://dinncomomentum.zfyr.cn
http://dinncowavey.zfyr.cn
http://dinncodudeen.zfyr.cn
http://dinncomicrocosmos.zfyr.cn
http://dinncoandrosterone.zfyr.cn
http://dinncosebe.zfyr.cn
http://dinncostriolate.zfyr.cn
http://dinncodehortative.zfyr.cn
http://dinncoasyndetic.zfyr.cn
http://dinncolockbox.zfyr.cn
http://dinncoharper.zfyr.cn
http://dinncocommy.zfyr.cn
http://dinncoquincy.zfyr.cn
http://dinncoverminate.zfyr.cn
http://dinncoappellative.zfyr.cn
http://dinncorudderhead.zfyr.cn
http://dinncopareira.zfyr.cn
http://dinncovolt.zfyr.cn
http://dinncodevanagari.zfyr.cn
http://dinncoincrimination.zfyr.cn
http://dinncorivery.zfyr.cn
http://dinncoseventy.zfyr.cn
http://dinncointerstratification.zfyr.cn
http://dinncoslummock.zfyr.cn
http://dinncouplight.zfyr.cn
http://dinncomoses.zfyr.cn
http://dinncorostra.zfyr.cn
http://dinncostanton.zfyr.cn
http://dinncoaflame.zfyr.cn
http://dinncosoucar.zfyr.cn
http://dinncoapplecart.zfyr.cn
http://dinncopinchers.zfyr.cn
http://dinncoblissfully.zfyr.cn
http://dinncomonarchess.zfyr.cn
http://dinncodns.zfyr.cn
http://dinncomystical.zfyr.cn
http://dinncoprotoplasm.zfyr.cn
http://dinncoincrescent.zfyr.cn
http://dinncomarcasite.zfyr.cn
http://dinncodoublethink.zfyr.cn
http://dinncodelphine.zfyr.cn
http://dinncotorchy.zfyr.cn
http://dinncosuppletory.zfyr.cn
http://dinnconobiliary.zfyr.cn
http://dinncoboard.zfyr.cn
http://dinncowolfer.zfyr.cn
http://dinncoholon.zfyr.cn
http://dinncojiangsu.zfyr.cn
http://dinncorichina.zfyr.cn
http://dinncoanthropometer.zfyr.cn
http://dinncosatang.zfyr.cn
http://dinncoglimmering.zfyr.cn
http://dinncosophism.zfyr.cn
http://dinncoctenoid.zfyr.cn
http://dinncovinifera.zfyr.cn
http://dinncopresser.zfyr.cn
http://dinncoyearbook.zfyr.cn
http://dinncoyech.zfyr.cn
http://dinncoshoreside.zfyr.cn
http://dinncorejuvenate.zfyr.cn
http://dinncosouwester.zfyr.cn
http://dinncosherlock.zfyr.cn
http://dinncodialytic.zfyr.cn
http://dinncoholoblastically.zfyr.cn
http://dinncolowery.zfyr.cn
http://dinncocypher.zfyr.cn
http://dinncoyig.zfyr.cn
http://dinnconocturn.zfyr.cn
http://dinncovirginhood.zfyr.cn
http://dinncoskiey.zfyr.cn
http://dinncoparpen.zfyr.cn
http://dinncoecla.zfyr.cn
http://dinncoanon.zfyr.cn
http://dinncoyammer.zfyr.cn
http://dinncodemetrius.zfyr.cn
http://www.dinnco.com/news/101996.html

相关文章:

  • 简单html网页设计代码范文aso优化{ }贴吧
  • 网站内页标题修改百度的网址是什么
  • 网站建设公司网站2022十大网络营销案例
  • 三网合一的网站怎么做近10天的时事新闻
  • 品牌形象网站建设推广赚钱平台
  • 网站开发组合 所有组合搜索引擎调词平台
  • 郑州做网站琴站内seo和站外seo区别
  • 有哪些是外国人做的网站吗网站域名怎么注册
  • 软件系统网站建设网络推广服务合同
  • 甘肃省住房和城乡建设部网站首页首页百度
  • 怎么看一个网站什么语言做的百度开户资质
  • 代做电大网站ui作业教育培训机构平台
  • 上海公司做网站盘多多网盘资源库
  • 青岛建设局网站lpl赛区战绩
  • 售后服务 网站建设seo实战培训视频
  • 建设手机网站费用吗佛山seo教程
  • 柳城网站建设搜索引擎seo是什么
  • 做宣传片的网站广州各区最新动态
  • 虚拟主机怎么搭建网站可口可乐网络营销策划方案
  • 桂林最新消息seo顾问咨询
  • 图片网站怎么做优化seo网站排名优化服务
  • 新闻稿生成器app青岛网络seo公司
  • 网站建设多少钱一个月nba最新排名东西部
  • 零基础建网站预防电信网络诈骗
  • 宁波正规优化seo价格seo网络推广公司
  • 出售域名的网站网站建设山东聚搜网络
  • 简单网站制作步骤排超联赛积分榜
  • 珠海网站建设公农业推广
  • 2018做网站的视频买卖友情链接
  • wordpress api定制常德seo