鍊錶 倒數第k個節點

2021-10-03 12:04:07 字數 700 閱讀 4840

問題:刪除倒數第k個節點

鏈結

雙指標法,開始時p1,p2都指向頭節點,先讓p2走k步,然後p1和p2一起走,當p2指向null時,p1就指向倒數第k個節點了

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

return p1;}}

;

鏈結

雙指標法,開始時p1,p2都指向頭節點,先讓p2走n步,然後p1和p2一起走,當p2指向null時,p1就指向倒數第n個節點了,將p1進行刪除,考慮到p1指向頭節點,因此我們再使用pre指向p1的前乙個結點。

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

if(pre)

else

delete p1;

//釋放待刪除元素所佔空間

return head;}}

;

鍊錶倒數第k個節點

兩個指標一前一後,相距k即可。include include using namespace std struct linknode typedef linknode linklist void insertlist linklist list int data else linknode rese...

鍊錶中倒數第k個節點

題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。struct listnode方法 定義兩個指標。第乙個指標從鍊錶的頭指標開始遍歷向前走k 1,第二個指標保持不動 從第k步開始,第二個指標也開始從鍊錶的頭指標開始遍歷。由於兩個指標的距離保持在k 1,當第乙個 走在前面的 指標到達鍊錶的尾結點時,第二...

鍊錶的倒數第k個節點

鍊錶的倒數第k個節點 即鍊錶從頭開始的第 n k 1 個節點 n為鍊錶節點總數。1 遍歷兩次鍊錶 第一次統計出鍊錶的節點數,第二次從頭節點開始往後走 n k 1 步即是倒數第k個節點 2 遍歷一次鍊錶 使用兩個指標p1和p2,開始均指向頭節點 第乙個指標p1從頭節點開始往後走 k 1 步,第二個指標...