Leetcode160 相交链表

Leetcode160 相交链表_第1张图片
Leetcode160 相交链表_第2张图片
本题解决方法也有两种:哈希表、双指针。
哈希表:记录从一个 head 开始经过的节点存入表中;遍历另一个 head,遇到重复节点返回。
双指针:虽然路径a、b的长度可能不同,但其路径之和一定相等 a+b = b+a。针对这一点,记录两个指针,分别从两个路径头开始移动,速度均为1,若走到链表尽头 nullptr 则再从另一个路径头开始移动,若两个指针相遇,即返回。
由于路径之和相等,若两链表相交,则指针会在相交点相遇;若两链表不相交,指针最后则会同时指向空指针。

附上代码:

哈希表

class 

你可能感兴趣的:(链表,链表,数据结构,算法)