题目来源:
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;
- }
- };
总结:
无官方题解。