相交链表
解题思路:
双指针。第一遍的时候A与B不一定同时走到相同节点,但是如果都走A+B那就会同时走到相同节点。
代码:
public ListNode GetIntersectionNode(ListNode headA, ListNode headB)
{
ListNode pA = headA;
ListNode pB = headB;
if (pA == null || pB == null)
return null;
while(pA!=pB)
{
pA = pA == null ? headB : pA.next;
pB = pB == null ? headA : pB.next;
}
return pA;
}//(A与B长度不一定相等,但A+B一定等于B+A)