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

怎么上传网站模板4线城市搞网站开发

怎么上传网站模板,4线城市搞网站开发,网站建立网络优化,网站展示目录 一、找出并返回链表的中间结点 二、输出链表中倒数第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.laogonggong.com/news/71116.html

相关文章:

  • lnmp wordpress php7网站主机选择与优化
  • 手机网站图片自适应怎么给网站加速
  • 建设档案员证书查询网站网站后台怎么更新
  • 宝山做网站公司软件开发工具03173
  • 潍坊知名网站建设哪家好网页设计师招聘条件
  • 公司网站的好处杭州优化建筑设计
  • 合作社网站模板贵阳专业的翻译公司
  • 最好的书籍设计网站网站关于我们怎么做单页面
  • 微信网站后期运营怎么做网站购物车实现
  • 网上自己建网站wordpress全能播放器代码
  • 长沙商城网站建设报价公示进一步优化
  • 公司网站建设方案书企业网站和官网的区别
  • 做网站大概花多少钱建设银行上海分行网站
  • 做网站客户国内销售平台有哪些
  • 成都网站建设科业之峰装饰公司北京地址
  • 吉安市建设技术培训中心网站淘宝上的网站建设为什么便宜
  • 上海国际网站建设邯郸注册网络科技公司
  • 图表设计 网站设计网站公司顶尖y湖南岚鸿牛x
  • 怎么做手机版网站上海松江做网站公司
  • 外贸网站建设公司排名深圳入户
  • 天津做网站建设的公司网页美化与布局教程
  • 刘家窑网站建设浙江网站设计公司
  • 网站式登录页面模板下载地址宠物网站策划书
  • 网站建设购买红孩子母婴网站开发背景
  • 漂亮的网站单页网站开发待遇怎么样
  • 网站建设 腾云成都保洁公司
  • 网站的网络推广西乡做网站价格
  • 网站开发 公司猪八戒网站 怎么做兼职
  • 仿牛商网营销型网站网站前台主要的功能是什么
  • 做窗帘网站网站建设 源代码