题目:相交链表
题目描述
编写一个程序,找到两个单链表相交的起始节点。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-element
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
用Java语言进行编写
做题心得
要找到单链表A和单链表B相交的起始节点,可以让他们走完彼此的路,如果走完彼此的心路历程,他们可以到达一点,说明他们是相交的。否则,没缘分。
代码
public class Solution {
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
ListNode nodeA = headA;
ListNode nodeB = headB;
while(nodeA != nodeB)
{
nodeA = (nodeA == null) ? headB:nodeA.next;
nodeB = (nodeB == null) ? headA:nodeB.next;
}
return nodeB;
}
}