相交链表
编写一个程序,找到两个单链表相交的起始节点。

1、双指针
#include <unordered_map> using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(nullptr) {} }; class Solution { public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { ListNode *curA = headA; ListNode *curB = headB; while (curA != curB) { curA = curA ? curA = curA->next : headB; curB = curB ? curB = curB->next : headA; } return curA; } };
浙公网安备 33010602011771号