zoukankan      html  css  js  c++  java
  • 剑指 Offer 22. 链表中倒数第k个节点

    题目

    输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。

    给定一个链表: 1->2->3->4->5, 和 k = 2.
    
    返回链表 4->5.
    

    题解

    
     ListNode fast = head;
            ListNode slow = head;
            if(slow == null) {
                return null;
            }
    
            int index = 0;
            for(;index < k && fast != null; index++) {
                fast = fast.next;
                
            }
            // 快指针还没走到k这个差距
            if(index != k) {
                return null;
            }
    
            while(fast != null) {
                fast = fast.next;
                slow = slow.next;
            }
    
            return slow;
    
    
  • 相关阅读:
    Codeforces Global Round 6
    Codeforces Global Round 5
    笔记
    笔记
    Codeforces Round #608 (Div. 2)
    模板
    Codeforces Round #607 (Div. 2)
    find命令
    while循环脚本
    发邮件
  • 原文地址:https://www.cnblogs.com/Cyning/p/13704998.html
Copyright © 2011-2022 走看看