iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
Software Development

Leetcode 習慣養成之路系列 第 18

Day 18 - 160. Intersection of Two Linked Lists

  • 分享至 

  • xImage
  •  

題目說明

給定兩個 linkedlist ,找到他們的交集處

解題說明

這題只要用兩個 pointer,走訪完兩個 list 就可以找到交集處
交集處為第一個位置相同的 node
如果沒有交集的話,則會同時走到 null

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> Optional[ListNode]:
        
        pA = headA
        pB = headB
        
        while pA!=pB:
            pA = pA.next if pA else headB
            pB = pB.next if pB else headA
        return pA

上一篇
Day 17 - 876. Middle of the Linked List
下一篇
Day 19 - 141. Linked List Cycle
系列文
Leetcode 習慣養成之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言