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

2021-10-22 23:40:01 字數 869 閱讀 3895

給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。

示例:給定乙個鍊錶: 1->2->3->4->5, 和 n = 2.

當刪除了倒數第二個節點後,鍊錶變為 1->2->3->5.

說明:給定的 n 保證是有效的。

高階:你能嘗試使用一趟掃瞄實現嗎?

//思路:採用乙個啞節點作為首節點,讓啞節點.next = head,然後雙指標指向啞節點,fast指標先走n+1步,然後和慢指標slow一塊走,當fast走到null的時候,慢指標slow正好走到倒數第n個節點的前乙個節點,讓slow.next=slow.next.next,最後返回啞節點.next

* definition for singly-linked list.

* public class listnode 

class solution {

public listnode removenthfromend(listnode head, int n) {

listnode pre = new listnode(integer.max_value);

pre.next = head;

listnode fast = pre;

listnode slow = pre;

for(int i = 0; i <= n; i++){

if(fast==null){

return pre.next;

fast = fast.next;

while(fast!=null){

fast = fast.next;

slow = slow.next;

slow.next = slow.next.next;

return pre.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...