iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
Software Development

Leetcode 習慣養成之路系列 第 17

Day 17 - 876. Middle of the Linked List

  • 分享至 

  • xImage
  •  

題目說明

給定一個 linked list head,回傳中間的 node
如果是偶數個,回傳靠近尾部的

解法說明

這題可以使用快慢指針法求解
需要注意的是雙數與單數要分開運算

解法

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def middleNode(self, head: Optional[ListNode]) -> Optional[ListNode]:
        f, s = head, head
        
        while True:
            if not f.next:
                return s
            if not f.next.next:
                return s.next
            s = s.next
            f = f.next.next

上一篇
Day 16 - 206. Reverse Linked List
下一篇
Day 18 - 160. Intersection of Two Linked Lists
系列文
Leetcode 習慣養成之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言