程序员代码面试指南第二版 22.两个单链表相交的一系列问题

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


​welcome to my blog​

程序员代码面试指南第二版 22.两个单链表相交的一系列问题

相同的题:剑指offer面试题52:两个链表的第一个公共节点, ​​题解链接​​; 分解问题:1)是否有环 2)相交的第一个公共节点

归纳总结; 找链表的中间节点和判断链表有没有环都用到了快慢指针, 写法很像: 初始化, 关键条件

返回链表的中间节点

ListNode left=head, right=head.next;
//找到中间节点
while(right!=null && right.next!=null){
left = left.next;
right = right.next.next;
}

判断链表是否有环

ListNode left=head, right=head.next;
while(left != right){
//execute
if(right==null || right.next==null)
return null;//no loop
//update
left = left.next;
right = right.next.next;
}


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6