題目
思路:最直覺的作法就是從頭開始沿著 next 一直走,然後用一個 set 來存放走過的 node,如果再次走到已走過的 node 就是 cycle 起點
題目
思路:最直覺的作法就是從頭開始沿著 next 一直走,然後用一個 set 來存放走過的 node,如果再次走到已走過的 node 就是 cycle 起點
題目
思路
curr 當指標,沿著 linked list 的頭往後走,一邊改變 curr.next 的指向,而過程中必須對前一個和下一個都有所掌握,因為 curr 必須指向前一個,然後它本身必須換到下一個previous, curr, nextcurr 是 head 時,previous 會是 None,這兩個可以先設定好。目標是一直改變 curr 的指向,讓 curr 一直走到 linked list 盡頭,變成 None 為止,所以 while 條件就是 當有 curr 的時候就做
題目
思路:
因為要做一個 linked list,可以用 while 在每次迴圈都接一個 node 出來
先設 while True:,等寫迴圈內容時再來確定 while 可繼續執行的條件
寫第一 part (如下) 後發現,while 條件需要 l1 and l2
1 | if l1.val > l2.val: |
題目
思路:
既然是 Linked List,我們可以宣告一個指標 curr 指向第一個 node,用 while 迴圈一次檢查一個 node (檢查完將指標移到下一個 node)
head 來移動,因為到時候回傳答案的時候需要回傳這個 head設定 while 可以繼續檢查的條件:有時要先寫 while 的內容,才會比較確定 while 條件應該怎麼寫,這時可以先寫 while True:,等內容寫完再來改條件
題目
思路:
Update your browser to view this website correctly. Update my browser now