Last updated
Last updated
這一題我的第一個想法是我先走一趟算出整個 Linked List
有多長,接著我把所有的長度減去 n
,這就代表我需要從起點往下走幾步。
不過此時我們需要借助一個虛擬節點,虛擬節點的下一個點才是起點,並且從虛擬起點開始往下走,直到走到了要被刪除的點的前一個點,這時候我們就把需要刪除的節點刪掉。
這一題也可以用快慢指針的方式來處理
首先我們先將快指針走 n
步,如果說快指針為空了,那代表需要被刪除的節點就是一開始的起點。接著快慢指針一起走,走到快指針走完的地方,慢指針就會指向到需要被刪除的節點的前一個節點。