刪除鍊錶的倒數第N個節點

2021-09-25 05:49:27 字數 764 閱讀 8061

public listnode removenthfromend(listnode head, int n) 

if(post.next!=null)else

return next.next;

}

怎麼改都不對啊……出錯就出在只有乙個節點 n=1的情況,不能返回null。

但,其實返回倒數第k個節點,就是下列方法。按照這個方法來寫,必須考慮上述問題。

public listnode findkthtotail(listnode head, int k) 

return p2;

}

我這個方法是咋整都不行了,就只能是找別人的方法了。

下面這個方法實在是厲害了,非常靈活。因為後走的這個指標走到的是要刪除節點的前乙個節點,因為他是重新加了乙個newhead,所以不需要考慮要刪除節點是原煉表頭節點的情況,和尾節點的情況……

但是要注意,因為要使後走的指標指向前乙個節點,所以前後指標的差距應該是(n+1)

public listnode removenthfromend(listnode head, int n) 

// move first to the end, maintaining the gap

while (first != null)

second.next = second.next.next;

return dummy.next;

}

刪除鍊錶倒數第N個節點

1.問題 給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.2.演算法 暴力破解法 先計算得出鍊錶的長度m,然後將鍊錶長度和所給倒數字置相減,即loc m n 1,得出刪除節點的前...

刪除鍊錶倒數第n個節點

leetcode 題目 給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.note n 鍊錶長度時,刪除頭節點 n 0時,不做任何操作。當第乙個指標first 比第二個指標領先n步,然後...

刪除鍊錶的倒數第N個節點

與查詢鍊錶的倒數第n個節點對比只改動了一行 查到倒數第n個節點後,將該節點的後續指標p1.next p1.next.next 即可 package 鍊錶中 public class nthnodefromendoflist return m 刪除倒數第n個節點 param args public s...