鍊錶刪除倒數第k結點

2021-09-01 20:57:36 字數 456 閱讀 7043

思想:快指標先走到第k個結點。然後快慢指標一起往後走,當快指標指向最後乙個結點的時候,慢指標就是倒數第k個結點

// 刪除倒數第k個結點

public

static node deletelastkth

(node list,

int k)

//k過大,已經走到末尾了

if(fast == null)

return list;

node slow = list;

node prev = null;

//fast指向最後乙個結點

while

(fast.next != null)

//如果k剛好就是鍊錶的長度,刪除第乙個

if(prev == null)

else

return list;

}

刪除鍊錶的倒數第k個結點

刪除鍊錶的倒數第k個結點 1看到題的想法是從頭到尾遍歷單鏈表,找到倒數第k的節點 這裡建立兩個指標即pre和head 分情況 plist鍊錶為空,返回空 先讓前指標從第乙個節點遍歷到第k個節點 k 此時k 1,後指標pre和前指標head剛好差k個結點 此時讓後指標開始從第乙個結點與前指標head同...

刪除鍊錶的倒數第k個結點

給你乙個鍊錶,刪除鍊錶的倒數第k個結點,並且返回鍊錶的頭結點。示例 1 輸入 head 1,2,3,4,5 k 2 輸出 1,2,3,5 示例 2 輸入 head 1 k 1 輸出 示例 3 輸入 head 1,2 k 1 輸出 1 本題要求刪除倒數第k個結點,重要的是獲取刪除結點的前乙個結點,將該...

13 鍊錶倒數第K個結點

題目 輸入乙個單向鍊錶,輸出該鍊錶中倒數第k 個結點。鍊錶的倒數第0 個結點為鍊錶的尾指標。鍊錶結點定義如下 struct listnode handwriting listnode lastk listnode head,int k whlie knode 0 return head 1 沒考慮k...