第八周作业

用户头像
上山砍柴
关注
发布于: 2020 年 07 月 29 日

1合并两个单链表,找到合并元素

public class Solution {

public ListNode getIntersectionNode(ListNode headA, ListNode headB) {

//思路:双指针法。

ListNode pA = headA, pB = headB;

while(pA != pB){

pA = pA == null ? headB : pA.next;

pB = pB == null ? headA : pB.next;

}

return pA;

}

}



说明:

先判空,如果两个节点有null值则直接返回null。使用双指针法解这种题,本质上就是两个节点齐头并进,在一个节点走到尽头后,定位到另一个节点初,然后循环走下去,如果有交叉节点,最终总会走到同一个节点的,可以理解成小学的时候学的追逐问题,只是时间的多少。但是如果没有交叉节点,最终两个节点会同时走到null,然后将跳出循环,最后返回null即可。



用户头像

上山砍柴

关注

还未添加个人签名 2018.02.28 加入

还未添加个人简介

评论

发布
暂无评论
第八周作业