LeetCode
,Python3
,Medium
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def reorderList(self, head: Optional[ListNode]) -> None:
"""
Do not return anything, modify head in-place instead.
"""
if not head or not head.next:
return
slow = head
fast = head
prev = head
while fast and fast.next:
prev = slow
fast = fast.next.next
slow = slow.next
prev.next = None # 把前半的尾端指向None,而不是slow
list1 = head
list2 = self.reverse(slow) # 反轉後半的list
self.merge(list1, list2)
def reverse(self, head):
if not head:
return None
prev = None
curr = head
while curr:
nextNode = curr.next
curr.next = prev
prev = curr
curr = nextNode
return prev
def merge(self, list1, list2):
while list2:
nextNode = list1.next
list1.next = list2
list1 = list2
list2 = nextNode
首先,我們需要讀取伺服器數量 ( n )、城市數量 ( m )、方案數量 ( k ) 以及每個伺服器對每個城市的流量矩陣 ( Q )。
Dec 28, 2024這題的問題是經典的「找零問題」(Coin Change Problem),要求你使用最少數量的硬幣來湊出特定的金額。題目給定N種不同面額的硬幣,以及需要湊出的總金額C,目標是找出所需的最少硬幣數量。
Dec 4, 2024這題要求我們找出一個樹狀圖的根節點編號,並計算整個樹的總高度 H(T)。樹的根節點是沒有父節點的節點,而樹的總高度是所有節點高度的總和。
Sep 2, 2024這個問題要求我們判斷一個無向圖是否可以使用兩種顏色進行塗色,使得所有相鄰的節點顏色不同。這是一個典型的二分圖(Bipartite Graph)問題。
Sep 2, 2024or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up