美文网首页剑指 Offer Java版
剑指Offer Java版 面试题22:链表中倒数第k个节点

剑指Offer Java版 面试题22:链表中倒数第k个节点

作者: 孙强Jimmy | 来源:发表于2019-07-16 21:58 被阅读1052次

    题目:输入一个链表,输出该链表中倒数第k个结点。

    练习地址

    https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a

    参考答案

    /*
    public class ListNode {
        int val;
        ListNode next = null;
    
        ListNode(int val) {
            this.val = val;
        }
    }*/
    public class Solution {
        public ListNode FindKthToTail(ListNode head, int k) {
            if (head == null || k < 1) {
                return null;
            }
            ListNode cur = head;
            while (k-- > 1) {
                if (cur.next == null) {
                    return null;
                }
                cur = cur.next;
            }
            ListNode behind = head;
            while (cur.next != null) {
                behind = behind.next;
                cur = cur.next;
            }
            return behind;
        }
    }
    

    复杂度分析

    • 时间复杂度:O(n)。
    • 空间复杂度:O(1)。

    👉剑指Offer Java版目录
    👉剑指Offer Java版专题

    相关文章

      网友评论

        本文标题:剑指Offer Java版 面试题22:链表中倒数第k个节点

        本文链接:https://www.haomeiwen.com/subject/fcmxlctx.html