思路:可設兩個頭指標p1和p2,當p2開始向前走,當走的步數為k時,p1開始走,此時當p2走到結尾時,p1所指的位置正好為倒數第k個元素的位置
class
listnode
@override
public string tostring()
return sb.
tostring()
;}}public
static
class
findelem
if(countreturn null;
while
(p2!=null)
return p1;
}public
static
void
main
(string[
]args)
;for
(int i=
0;i)system.out.
println
(findkthtotail(3
,head)
.val)
}}
100題 找出鍊錶倒數第k個元素
查詢鍊錶中倒數第k個節點 include using namespace std 定義鍊錶節點結構 struct listnode 建立不帶頭結點的單鏈表 void createlist listnode head else cin num return temp 列印鍊錶 void printli...
鍊錶中倒數第k個元素
時間限制 1秒 空間限制 32768k 熱度指數 301751 本題知識點 鍊錶輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。class solution while phead next null return ptail 解題思路 傳統方法是從左到右遍歷一遍,得出鍊錶中的結點總數,然後計算倒數第k個...
鍊錶 獲取鍊錶的倒數第k個元素
思路1 暴力 先暴力一次鍊錶,記錄鍊錶的長度n,第二次遍歷n k 1個元素,返回,一共需要2n 1 k個 思路2 兩個指標,左右指標相差k 1個距離,有指標到達鍊錶末尾時,做指標指向倒數第k個元素.經典思路,兩個指標相差k個間隔 思路2實現 public static node getfindnfr...