链表常用技巧
1. 使用 dummy node:dummy node 就是在鏈表的 head 前加一個節點指向 head,即 dummy->head,可以 理解成一個虛擬節點。有了 dummy node 就使得操作 head 節點與操作其他節點沒有區別。特別適合用在鏈表 的 head 發生變化的情況下,譬如刪除或者被修改等。dummy = ListNode(0) dummy.next = head2. 雙指針法:對于尋找鏈表的某個特定位置,或者判斷 是否有環等問題時,可以用兩個指針變量 fast 和 slow, 兩個指針以不同的策略移動,直到兩個指針的值相等(或 其他特殊條件)為止。slow = head fast = head3. 交換節點的處理:如果需要交換兩個節點的位置,對于這兩個前驅節點,他們的next指針會受到影響,這兩個節點本身也會受到影響,可以用以下步驟: 先交換兩個前驅節點的next指針的值 再交換這兩個節點的 next 指針的值
總結
- 上一篇: 21. Leetcode 203. 移除
- 下一篇: 22. Leetcode 237. 删除