双链表相交问题思路

This commit is contained in:
Wen 2022-09-01 00:04:46 +08:00
parent f06332a5e7
commit 99f70def05
1 changed files with 18 additions and 0 deletions

View File

@ -0,0 +1,18 @@
package ds.linklist;
/**
* 有两个可能有环可能无环的单向链表找出两个链表是否有相交节点
* 由于单链表只有一个next所以两个链表相交后之后的路径都是一样的
* 两个无环,最后的终点一致则相交,记录到终点的路径,长路径先走去比短路径多的部分然后两个链表一起走遇到第一个相等的节点即第一个想交接点
* 一个有环一个无环不可能相交
* 两个有环先找到两个链表的入环节点
* 1.如果两个入环节点是同一个可看做两个无环链表的终点为入环节点的问题
* 2.如果两个入环节点不是同一个
* (1)如果从一个入环节点一直走碰不到另一个入环节点则两个链表不相交
* (2)如果从一个入环节点一直可以走到另一个入环节点则任一入环节点可作为第一个相交节点
* @author Wen
* @date 2022/8/31 23:45
*/
public class CircleLinkListQ {
}