剑指offer:返回两个链表中的第一个公共节点
定义个返回值为ListNode的函数,有两个参数pHead1和pHead2,先判断有一个指针为空,则返回空;接着声明了两个指针变量P1和P2,为了遍历链表。当两个指针p1和p2不相等时,用了两个三目运算符,当p1为空时,p1指到pHead2所在的链表在遍历,不为空时就p1遍历完pHead1所在的链表;p2指针同理,如果有公共结点的话一定会相遇,没有的话返回空!!!
class Solution { public: ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) { if(pHead1==nullptr ||pHead2==nullptr) return nullptr; ListNode* p1=pHead1; ListNode* p2 =pHead2; while(p1!=p2){ p1=(p1==nullptr?pHead2:p1->next); p2=(p2==nullptr?pHead1:p2->next); } return p1; } };#剑指offer##23届找工作求助阵地#