[剑指offer][JAVA]面试题第[22]题[j剑指offer][双指针][快慢指针]
生活随笔
收集整理的這篇文章主要介紹了
[剑指offer][JAVA]面试题第[22]题[j剑指offer][双指针][快慢指针]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【問題描述】[中等]
輸入一個鏈表,輸出該鏈表中倒數第k個節點。為了符合大多數人的習慣,本題從1開始計數,即鏈表的尾節點是倒數第1個節點。例如,一個鏈表有6個節點,從頭節點開始,它們的值依次是1、2、3、4、5、6。這個鏈表的倒數第3個節點是值為4的節點。 示例:給定一個鏈表: 1->2->3->4->5, 和 k = 2.返回鏈表 4->5.【解答思路】
1. 統計長度算位置
- 遍歷鏈表得鏈表長度num,算位置 i = num - k
- 根據算出來的位置 重新遍歷
時間復雜度:O(N) 空間復雜度:O(1)
2. 快慢指針/雙指針
時間復雜度:O(N) 空間復雜度:O(1)
【總結】
1. 鏈表經典思路 快慢指針 !
2. 注意邊界 一題多解!
參考鏈接:https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/solution/mian-shi-ti-22-lian-biao-zhong-dao-shu-di-kge-j-11/
總結
以上是生活随笔為你收集整理的[剑指offer][JAVA]面试题第[22]题[j剑指offer][双指针][快慢指针]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cad解除块的快捷命令_47个快捷键50
- 下一篇: 《日志管理与分析权威指南》一2.3 良好