輸出鍊錶中倒數第k個結點

2021-10-05 08:44:41 字數 881 閱讀 2684

問題描述:輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。

思路:當鍊表足夠長時,設定兩個結點相距k-1個結點,然後同步向後移動,當後乙個結點走到最後乙個結點時,前乙個結點已經走到倒數第k個結點,返回該結點即可。

import org.junit.test;

public

class

findkthtotail

}public listnode find

(listnode head,

int k)

return

newlistnode

(fast.val);}

int count = k-2;

while

(fast.next!=null&& count>0)

if(fast.next == null)

//結點不足k個

return null;

fast =fast.next;

slow = head;

while

(fast.next!=null)

return slow;

}@test

public

void

test()

listnode result = null;if(

(result=

find

(head,1)

)!= null)

system.out.

println

(result.val)

;else system.out.

println

("null");

}}

輸出鍊錶中倒數第k個結點

題目 輸入乙個單向鍊錶,輸出該鍊錶中倒數第k個結點。鍊錶的倒數第0個結點為鍊錶的尾指標。鍊錶結點定義如下 struct listnode coder lee 20120309 include include using namespace std struct listnode void creat...

輸出鍊錶中倒數第k個結點

鍊錶中倒數第k個結點 題目描述 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。思路 定義新結點從頭開始遍歷鍊錶,移動 k 次後停止,再定義新的結點指向煉表頭結點,兩個結點同時後移,直至前乙個為 null。注意 鍊錶可能一開始就是空的。如果 k 等於鍊錶長度,如1 2 3,k 3時應該返回原鍊錶1 2 3...

輸出單向鍊錶中倒數第k個結點

描述 輸入乙個單向鍊錶,輸出該鍊錶中倒數第k個結點,鍊錶的倒數第0個結點為鍊錶的尾指標。鍊錶結點定義如下 struct listnode 詳細描述 介面說明 原型 listnode findkthtotail listnode plisthead,unsignedint k 輸入引數 listnod...