解題思路:
1.快慢指標法,新建乙個新節點,代表頭結點,頭結點的next指向head(第乙個節點),這樣就不用考慮要刪除的節點是否為頭結點了
2.先讓快指標移動n+1個位置,然後慢指標開始移動。快慢指標的初始位置都指向head(第乙個節點)
3.當快指標到末尾時,慢指標指向的正好是要刪除節點的前乙個,此時直接讓慢指標指向的節點的next指向其next.next即可
4.返回新節點.next即可
**實現:
/**
* definition for singly-linked list.
* public class listnode
* }*/class solution
while(fast!=null)
slow.next=slow.next.next;
return node.next;
}}
19 刪除鍊錶的倒數第N個節點
給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?說實話,就我的水平而言感覺這道題坑點還真不少,先來我的乙個粗糙版...
19 刪除鍊錶的倒數第N個節點
給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?class solution def removenthfrom...
19 刪除鍊錶的倒數第N個節點
給定乙個鍊錶,刪除鍊錶的倒數第n個節點,並且返回鍊錶的頭結點。給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.給定的n保證是有效的。首先遍歷得出鍊錶的長度l,然後刪除第l n個節點 definition for singly linked list....