写点什么

week 8

用户头像
Geek_2e7dd7
关注
发布于: 2020 年 07 月 27 日

双指针,指向list1的走到末尾且到list2走到null为止,指向list2的走到末尾切到list1走到null位置。

两个指针最后同时变为null则无交叉节点,如果途中出现两个指针指向同一个节点,则该节点是交叉节点。

Node findJoinNode(Node n1, Node n2) {
Node p1 = n1;
Node p2 = n2;
boolean flipped1 = false;
boolean flipped2 = false;
while (p1 != null && p2 != null) {
if (p1 == p2) {
return p1;
}
if (p1.next == null) {
if (flipped1) {
break;
}
flipped1 = true;
p1 = n2;
} else {
p1 = p1.next;
}

if (p2.next == null) {
if (flipped2) {
break;
}
flipped2 = true;
p2 = n1;
} else {
p2 = p2.next;
}
}

return null;
}





用户头像

Geek_2e7dd7

关注

还未添加个人签名 2018.11.08 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
请加“极客大学架构师训练营”标签,便于分类
2020 年 07 月 28 日 18:02
回复
没有更多了
week 8