24. Swap Nodes in Pairs
題目網址:https://leetcode.cn/problems/swap-nodes-in-pairs/
題意:給一 linked list, 兩兩交換相鄰的 node, 並返回交換後 linked list。
注意:必須在不修改 node 值的情況下完成(只能進行 node swap)
Solution:
想法:利用 dummy node, 讓
prev
永遠指向當前 pair 的前一個 node, 分為三步驟
- 1. 取得下一個 pair 的 head, 和當前 pair 的 tail
- 2. reverse 當前 pair, 並將
prev
指向當前 pair 的 head(更新前的 tail)- 3. 更新 pointers
class Solution { |
- time:$O(n)$ ➔ 遍歷整個 linked list
- space:$O(1)$ ➔ 只需常數空間
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論