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

2021-10-03 09:01:11 字數 676 閱讀 5908

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

示例:

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

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

設定乙個哨兵節點dummyhead指向煉表頭節點,兩個指標變數first,second賦值為dummyhead,第乙個節點first先走n+1步,然後兩個指標一起走,直到第二個指標到達鍊錶結尾,此時第二個鍊錶的下乙個節點就是倒數第n個節點,然後second指向下下個節點,從而實現刪除。

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

while

(first !=

null

)//此時第2個指標指向倒數第n個節點

second-

>next = second-

>next-

>next;

return dummyhead-

>next;}}

;

時間複雜度:o(n)

空間複雜度:o(1)

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