始终要明确一个过程中只能完成一次操作,这样才能有序进行。当然错误情况主要集中与边界条件的处理。
这道题,最开始
点击查看代码
class Solution {
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
ListNode*p=headA;ListNode*q=headB;
while(p!=q){
p=p->next;
if(p==NULL){p=headB;}
q=q->next;
if(q==NULL){q=headA;}
}
return p;
}
};
点击查看代码
class Solution {
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
ListNode*p=headA;ListNode*q=headB;
while (p != q) {
p = p ? p->next : headB;
q = q ? q->next : headA;
}
return p;
}
};