題目描述
輸入一個鏈表,輸出該鏈表中倒數第k個結點,
解法
基本思路是使用兩個輔助指標p, q,讓p先走k - 1步后,p, q兩個指標再一起走
這樣當p指標走到鏈表的末尾時,q指標剛好走到的就是倒數第k個結點
如下圖所示

實作代碼
public ListNode FindKthToTail(ListNode head, int k)
{
ListNode p = head, q = null;
while(p != null){
if(q != null)
q = q.next;
else if(--k == 0)
q = head;
p = p.next;
}
return q;
}
更多演算法題目的完整描述,AC代碼,以及解題思路可以查看GitHub倉庫Algorithm
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/46960.html
標籤:C#
