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

手机网站判断代码河北省邢台市seo

手机网站判断代码,河北省邢台市seo,国家城乡建设部投诉网站,大男人直播视频目录 一、找出并返回链表的中间结点 二、输出链表中倒数第k个结点 三、判断链表中是否有环 四、两个单链表相交 一、找出并返回链表的中间结点 给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 要求:只遍历…

目录

一、找出并返回链表的中间结点

二、输出链表中倒数第k个结点

三、判断链表中是否有环

四、两个单链表相交


一、找出并返回链表的中间结点

给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。
要求:只遍历一遍链表

可以使用快慢指针:fast 一次走两步,slow 一次走一步。当 fast == NULL(偶数个结点)或者 fast->next == NULL(奇数个结点)就停止,返回 slow。

struct ListNode* middleNode(struct ListNode* head) 
{struct ListNode* slow, *fast; slow = fast = head; while(fast && fast->next){slow = slow->next; fast = fast->next->next;}return slow;
}

注意:

1、一次性定义多个指针时,第二个及以后的指针名前面都要加 * 。

2、while( )括号内是循环继续的条件。

二、输出链表中倒数第k个结点

输入一个链表,输出该链表中倒数第k个结点。
要求:只遍历一遍链表

快慢指针:fast 先走 k - 1 步,然后 fast 和 sliow 同时走,直到 fast 走到链表的最后一个结点。

struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) 
{struct ListNode* slow, *fast; slow = fast = pListHead;while(--k){fast = fast->next;}while(fast->next){slow = slow->next; fast = fast->next;}
}

三、判断链表中是否有环

给你一个链表的头节点 head ,判断链表中是否有环。

使用快慢指针:fast 一次走两步,slow 一次走一步。

bool hasCycle(struct ListNode *head) 
{   if(head == NULL)return false;if(head->next == NULL)return false;struct ListNode * slow = head;struct ListNode * fast = head;while(fast && fast->next){fast = fast->next->next;slow = slow->next;if(fast == slow)return true;}return false;
}

注意循环的条件是 fast != NULL && fast->next != NULL。

四、两个单链表相交

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。

要求:时间复杂度O(n),空间复杂度O(1)。

思路:1、分别求两个链表的长度 2、长的链表先走 差距步 3、同时走,第一个地址的结点相同就是交点

struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) 
{struct ListNode* tailA = headA, *tailB = headB; int lenA = 1, lenB = 1; while(tailA->next){tailA = tailA->next; ++lenA;}while(tailB->next){tailB = tailB->next; ++lenB;}if(tailA != tailB)return NULL;int gap = abs(lenA-lenB); struct ListNode* longList = headA, *shortList = headB; if(lenA ‹ lenB){longList = headB; shortList = headA;}while(gap--){longList = longList->next;}while(longList != shortList){longList = longList->next; shortList = shortList->next;}return longList;}

http://www.15wanjia.com/news/179391.html

相关文章:

  • 太原网站推广只选中联传媒电子商务网站建设与管理思考与练习
  • 完整网站开发教程展示系统 网站模板
  • 网站要咋建立新网站快速收录
  • 福鼎市建设局网站网站不备案可以上线吗
  • 网站的弹窗是用什么软件做的做网站服务器收费吗
  • 中国建设银行投诉网站北京朝阳区属于几环
  • 网站快速排名的方法无锡企业网站公司
  • 有没有做盗版电影网站犯罪的网站要素的优化设计
  • 腾讯云备案 网站名称泌阳县网站建设
  • 网站做不了301重定向如何做一个网页卖东西
  • 信息门户网站建设报价模板建站优缺点
  • 自助建站加盟分类信息网站怎么做流量
  • 企业宣传片视频模板wordpress自带数据库优化
  • 长尾关键词在网站优化中起的作用有哪些做页面设计的网站
  • 做网站的分辨率要多大wordpress主题企业
  • 网站建设的意义竹子建站官网
  • 网站开发都做些什么金融直播室网站建设
  • 网站后台上传文件网站开发价格估算
  • 招商网站建站做园林景观的网站
  • 国内电子商务网站有哪些wordpress评论优化插件
  • 做彩票网站制作重庆网站建站模板
  • 1.86神华网站两学一做赤峰网站制作
  • 网站平台建设投资费用清单网站建设公司 倒闭
  • 室内装饰公司网站模板音乐排行榜html页面作业
  • 营销者网站263企业邮箱手机版
  • 网站建设推荐北京华网天下wordpress主题wind
  • 关于网站开发的请示win2003 wordpress
  • 学网站建设专业前景网站建设vps
  • 奥尔马手表官方网站网站建设 中关村
  • 做那个网站的图客比较好怎么找出网站的备案号