
public class Solution {
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
if(headA == null || headB == null)
return null;
int lengthA = getListLength(headA);
int lengthB = getListLength(headB);
ListNode longList = headA;
ListNode shortList = headB;
int offset = Math.abs(lengthA - lengthB);
if(lengthA < lengthB){
longList = headB;
shortList = headA;
}
for(int i=0; i < offset; i++){
longList = longList.next;
}
while(shortList != longList){
shortList = shortList.next;
longList = longList.next;
}
return shortList;
}
public int getListLength(ListNode p){
int length = 0;
while(p != null){
length++;
p = p.next;
}
return length;
}
}
复制
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
if (headA == null || headB == null) return null;
ListNode pA = headA, pB = headB;
while (pA != pB) {
pA = pA == null ? headB : pA.next;
pB = pB == null ? headA : pB.next;
}
return pA;
}
复制
文章转载自大数据的奇妙冒险,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Java萌新修炼手册②:Hello Worldの108种写法——从入门到入坟!
让天下没有难学的编程
52次阅读
2025-04-21 10:34:36
Java萌新修炼手册⑥:面向对象の修仙奥义——从"散修"到"宗门大佬"的基因飞升!
让天下没有难学的编程
47次阅读
2025-04-25 10:10:40
从 Java 到 Go:面向对象的巨人与云原生的轻骑兵
京东云开发者
37次阅读
2025-04-25 11:41:37
Java萌新修炼手册⑤:数组の千层套路——从"鸽子笼"到"摩天楼"的进阶之路!
让天下没有难学的编程
35次阅读
2025-04-25 10:10:41
Java萌新修炼手册④:流程控制の三十六计——让代码学会"见风使舵"!
让天下没有难学的编程
29次阅读
2025-04-23 14:33:55
5.8 | Java 23:JavaDoc 重大升级,支持Markdown文档注释
严少安
25次阅读
2025-05-12 00:34:42
Java萌新修炼手册①:开局一把JDK,环境搭建全靠浪!
让天下没有难学的编程
23次阅读
2025-04-21 10:34:37
java浅拷贝BeanUtils.copyProperties引发的RPC异常
京东云开发者
19次阅读
2025-04-30 17:10:50
Java程序使用预处理语句的性能提升
GreatSQL社区
17次阅读
2025-04-23 11:18:50
解锁 Postgres 扩展日!与瀚高共探 C/Java 跨语言扩展技术的边界与未来
IvorySQL开源数据库社区
14次阅读
2025-05-08 10:04:53