Interview.02.02. Kth Node From End of List Lcci

面试题 02.02. 返回倒数第 k 个节点 #

Difficulty: 简单

实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。

**注意:**本题相对原题稍作改动

示例:

输入: 1->2->3->4->5 和 k = 2
输出: 4

说明:

给定的 k 保证是有效的。

题解 #

题解一: #

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public int kthToLast(ListNode head, int k) {
        int length = 0;
        ListNode temp = head;
        while (temp != null) {
            length++;
            temp = temp.next;
        }
        for (int i = 0; i < length - k; i++) {
            head = head.next;
        }
        return head.val;
    }
}

复杂度分析 #

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

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

Calendar Dec 5, 2020
Edit Edit this page
本站总访问量:  次 您是本站第  位访问者