iT邦幫忙

0

自主學習30日-LeetCode 160:Intersection of Two Linked Lists

  • 分享至 

  • xImage
  •  

160:Intersection of Two Linked Lists

題目

給定兩個單向鏈結串列(Linked List)headA 和 headB。

可能存在一個節點,使兩個鏈表 從這個節點開始相交(即後面的節點完全共用)。

請找出 第一個相交節點,如果沒有相交,返回 null。

解題思路

使用兩個指標 pA 和 pB 分別從 ListA 和 ListB 開始遍歷

遍歷規則:

1. 每次走一步 (pA = pA.next, pB = pB.next)
2. 如果走到末尾,跳到另一個鏈表的頭部繼續

當 pA == pB → 找到相交點或同時為 null → 沒有相交

巧妙之處:

兩個指標最終走過的總長度相同 → 保證在相交點相遇

https://ithelp.ithome.com.tw/upload/images/20251003/20169298KekhpczjBn.pnghttps://ithelp.ithome.com.tw/upload/images/20251003/20169298WK1hsYuE6Q.png


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言