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

2021-10-21 19:59:13 字數 405 閱讀 7718

刪除鍊錶的倒數第k個結點;1看到題的想法是從頭到尾遍歷單鏈表,找到倒數第k的節點;這裡建立兩個指標即pre和head

分情況:

plist鍊錶為空,返回空;

先讓前指標從第乙個節點遍歷到第k個節點;k–,此時k=1,後指標pre和前指標head剛好差k個結點;此時讓後指標開始從第乙個結點與前指標head同步遍歷;當前指標遍歷到最後乙個結點時,後指標剛好在倒數第k個結點位置。

void

delnode

(plinklist plist,

int k)

while

(head-

>next)

head=head-

>next;}if

(k<=1)

}

鍊錶刪除倒數第k結點

思想 快指標先走到第k個結點。然後快慢指標一起往後走,當快指標指向最後乙個結點的時候,慢指標就是倒數第k個結點 刪除倒數第k個結點 public static node deletelastkth node list,int k k過大,已經走到末尾了 if fast null return lis...

刪除鍊錶的倒數第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...