剑指offer之链表中倒数第k个结点

题目:链表中倒数第k个结点
介绍:输入一个链表,输出该链表中倒数第k个结点。
思路:一看就是快慢指针,快指针提前走K步,然后快慢指针开始同时走,当快指针走到尽头时,慢指针就是倒数第K个结点

 public ListNode FindKthToTail(ListNode head, int k) {
        if (head == null || k < 1) return null;
        ListNode fast = head;
        ListNode slow = head;
        //注意 i为1,而不是0,因为fast当前位置就是head,也就是第一个结点
        for (int i = 1; i < k; i++) {
            //判断快指针能不能提前走K步
            if (fast.next != null) {
                fast = fast.next;
            } else {
                return null;
            }
        }
        //开始同时走
        while (fast != null) {
            fast = fast.next;
            slow = slow.next;
        }
        return slow;
    }
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇