1,如果两个单链表相交,输出相交节点 让 两个链表先处于同一起跑线,如图所示,然后再 同时向后遍历(从d和h开始同时向后遍历),那么就可以确定是在哪个地方相交的了(确定了在f处相同,即交点)。 那么如何让他俩处于同一起跑线呢? 很简单,只需要长的链表先走 走到与短的链表一样长就可以了。 所以解法:1 ...
分类:
其他好文 时间:
2020-05-01 12:52:42
阅读次数:
56
1.判断一个单链表是否有环 借助STL里的 set ,java里用hashset是一样的,不需要排序,碰到重复key说明有环。 不借助set也可以通过另一种方式: 一个正常指针一次走一个,一个快指针一次走两个。 如果链表有环,快指针一定会和慢指针相遇,相遇的时候,把快指针扔回头结点,然后两个指针都每 ...
分类:
其他好文 时间:
2019-02-01 23:02:01
阅读次数:
196
默认为不带环链表,若带环则延伸为判断链表是否带环,若带环,求入口点看看两个链表相交到底是怎么回事吧,有这样的的几个事实:(假设链表中不存在环)
(1)一旦两个链表相交,那么两个链表中的节点一定有相同地址。
(2)一旦两个链表相交,那么两个链表从相交节点开始到尾..
分类:
其他好文 时间:
2016-04-03 20:29:05
阅读次数:
239
1、判断两个单链表是不是相交思路分析:最简单直接的方法就是依次遍历两条链表,判断其尾节点是不是相等,相等则相交否则不相交。boolCheckCross(constList&list1,constList&list2)//list1,list2为两个对象
{
Node*l1=list1._head;
Node*l2=list2._head;
while(l1-..
分类:
编程语言 时间:
2016-03-17 02:14:55
阅读次数:
292
上一节结束后,我们已经可以判断链表是否有环了,如果无环,那么按照前两节所讲的方法去判断链表是否相交以及获取相交结点,如果有环呢?怎么判断是否相交?...
分类:
编程语言 时间:
2015-04-27 09:47:19
阅读次数:
160
有环链表是否相交我们也可以判断了,剩下的就是获得有环链表相交结点...
分类:
编程语言 时间:
2015-04-27 09:46:43
阅读次数:
210
前两篇讨论的前提都是链表是无环的,但是如果链表有环呢?...
分类:
编程语言 时间:
2015-04-27 09:46:18
阅读次数:
132
从此篇博文开始,讲解一道古老的链表相交问题,共五篇...
分类:
编程语言 时间:
2015-04-26 11:00:53
阅读次数:
185
上一节聊了判断两个【无环】链表是否相交,那么如果相交,怎么找到相交结点呢?...
分类:
编程语言 时间:
2015-04-26 10:58:25
阅读次数:
179