LeetCode 返回倒数第k个节点

/**
 * 实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
 * <p>
 * 注意:本题相对原题稍作改动
 * <p>
 * 示例:
 * <p>
 * 输入: 1->2->3->4->5 和 k = 2
 * 输出: 4
 * 说明:
 * <p>
 * 给定的 k 保证是有效的。
 * <p>
 * 来源:力扣(LeetCode)
 * 链接:https://leetcode-cn.com/problems/kth-node-from-end-of-list-lcci
 * 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
 */
public class 返回倒数第k个节点 {
    public static int kthToLast(ListNode head, int k) {
        //先计算链表的长度 在根据长度减去k值 就能算出是第几个节点了
        ListNode current = head;
        int length = 0;
        while (current != null) {
            length++;
            current = current.next;
        }
        length = length - k;
        for (int i = 0; i < length; i++) {
            head = head.next;
        }
        return head.val;
    }
发布了83 篇原创文章 · 获赞 6 · 访问量 9132

猜你喜欢

转载自blog.csdn.net/weixin_41930050/article/details/105064580