鍊錶中倒數第k個節點

2021-10-08 21:32:19 字數 791 閱讀 7652

2.1  思路分析

確定鍊錶的長度;

定位倒數第k個位置,返回當前結點。

2.2  **實現

class solution 

p = p.next;

}return null;

}//該方法求鍊錶的長度

public int listlength(listnode head)

return count;}}

2.3  複雜度分析3.1  思路分析定義前指標former、後指標 latter,均指向head;

前指標former先向前走k步,結束後,後指標latter和前指標former間隔k步;

利用迴圈,前、後指標共同向後移動,每次迴圈向後移動一步,直到前指標走過鍊錶尾結點時退出;

因為前後指標相距k步,當前指標退出後,後指標距離尾結點k-1步,那麼當前後指標所在的位置就是倒數第k個結點;

3.2  **實現

class solution 

while(former != null)

return latter;}}

3.3  複雜度分析

鍊錶中倒數第k個節點

題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。struct listnode方法 定義兩個指標。第乙個指標從鍊錶的頭指標開始遍歷向前走k 1,第二個指標保持不動 從第k步開始,第二個指標也開始從鍊錶的頭指標開始遍歷。由於兩個指標的距離保持在k 1,當第乙個 走在前面的 指標到達鍊錶的尾結點時,第二...

鍊錶中倒數第k個節點

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。ac class solution def findkthtotail self,head,k write code here 將每個節點存在棧裡,選取stack中第k個值 stack while head head head.next if k len s...

鍊錶中倒數第k個節點

acwing打卡活動 劍指offer 打卡活動 周二第十題 鍊錶中倒數第k個節點 definition for singly linked list.public class listnode 思路 設列表總結點數為n,則n k 1 為該列表的倒數第k個節點 如 n 10,k 2,則 10 2 1 ...