題目描述:輸入乙個鍊錶,輸出該鍊錶中倒數第 k 個結點。
思路:定義一快一慢兩個指標,快指標走 k 步,然後慢指標開始走,快指標到尾
時,慢指標就找到了倒數第 k 個節點。
**實現:時間複雜度:o(n),空間複雜度:o(1)
public listnode findkthtotail(listnode head, int k)
listnode fast = head;
listnode slow = head;
while (k-- > 1)
fast = fast.next;
} while (fast.next != null)
return slow;
}
15 鍊錶中倒數第K個節點
面試題15 鍊錶中倒數第k個節點 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。public class 15 linked k 思路一 倒數第k個節點的值即為正數第n k 1個節點,但是鍊錶長度n未知,求n需再遍歷一次鍊錶。思路二 設定兩個指標,第乙個指標從鍊錶第k 1個位置開始遍歷,第二個指標從第0...
求煉表中倒數第K個節點
求煉表中倒數第k個節點,思路很簡單我們在遍歷時維持兩個指標,第乙個指標從鍊錶的頭指標開始遍歷,在第k 1步之前,第二個指標保持不動 在第k 1步開始,第二個指標也開始從鍊錶的頭指標開始遍歷。由於兩個指標的距離保持在k 1,當第乙個 走在前面的 指標到達鍊錶的尾結點時,第二個指標 走在後面的 指標正好...
求鍊錶倒數第k個節點
1.初解 public static node findkthtotail node head,uint k behind head while ahead.next null return behind 上面的 存在3處魯棒性問題 1 輸入的head為空指標。由於 會試圖訪問空指標指向的記憶體,程...