题解 | #两个链表生成相加链表#
两个链表生成相加链表
http://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b
class Solution {
public:
ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) {
//两个同时走,走到最后再换
ListNode* curr1 = pHead1;
ListNode* curr2 = pHead2;
int status1 = 0;
int status2 = 0;
while(true){
if(curr1==nullptr&&status1==0){
curr1 = pHead2;
status1 = 1;
}
if(curr2==nullptr&&status2 ==0){
curr2 = pHead1;
status2 = 1;
}
if(status1==1&&status2==1&&curr1==curr2){
return curr1;
}
if(status1==1&&status2==1&&(curr1==nullptr||curr2==nullptr)){
return nullptr;
}
curr1 = curr1->next;
curr2 = curr2->next;
}
}
};