[路飞]_面试题 02.02. 返回倒数第 k 个节点

75 阅读1分钟

题目介绍

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

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

示例:

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

给定的 k 保证是有效的。

来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/kt… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

递归遍历所有节点,把节点存储到一个数组中,遍历结束直接取出倒数k个节点

/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} head
 * @param {number} k
 * @return {number}
 */
var kthToLast = function(head, k) {
    let arr = []
    while(head) {
        arr.push(head.val)
        head = head.next
    }
    return arr[arr.length - k]
};