双指针,一次交换
两个链表的第一个公共结点
http://www.nowcoder.com/questionTerminal/6ab1d9a29e88450685099d45c9e31e46
双指针
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) { if(pHead1 == NULL || pHead2 == NULL){ return NULL; } ListNode* p1 = pHead1; ListNode* p2 = pHead2; while(p1 != p2){ if(p1 == NULL){ p1 = pHead2; } else{ p1 = p1->next; } if(p2 == NULL){ p2 = pHead1; } else{ p2 = p2->next; } } return p1; } };