题目来源:
leetcode题目,网址:LCR 171. 训练计划 V - 力扣(LeetCode)
解题思路:
双指针。node1 指向headA,node2 指向headB,将两节点每次移动一个节点直至两指针指向同一节点或者均指向空,在此期间,若某一节点指向空,将其指向另一链表的头部。
解题代码:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
ListNode* node1=headA;
ListNode* node2=headB;
while(!(node1==node2 || (node1==nullptr && node2==nullptr))){
if(node1==nullptr){
node1=headB;
}else{
node1=node1->next;
}
if(node2==nullptr){
node2=headA;
}else{
node2=node2->next;
}
}
return node1;
}
};
总结:
无官方题解。