题解 | #输出单向链表中倒数第k个结点#

输出单向链表中倒数第k个结点

https://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d

关键在于:了解单项链表结构。

另外有问题需要进一步学习:值传递与引用传递。

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNextInt()) {
            int n = scan.nextInt();
            //定义表头
            ListNode headNode = new ListNode(-1);
            ListNode temp = headNode;
            //建立单项链表
            for (int i = 0; i < n; i++) {
                int value = scan.nextInt();
                temp.nextNode = new ListNode(value);
                temp = temp.nextNode;
            }

            //获得倒数k值
            int k = scan.nextInt();
            for (int i = 0; i < n - k + 1;
                    i++) { //倒数第k个,即为顺数第n-k+1个,序号则为n-k
                headNode = headNode.nextNode;
            }
            //输出
            System.out.println(headNode.value);
        }

    }
}

class ListNode {
    Integer value;
    ListNode nextNode;
    ListNode() {};
    ListNode(Integer value) {
        this.value = value;
        this.nextNode = null;
    }
}
全部评论

相关推荐

不会做题的小熊:我感觉我就算是找不到工作,我也不会作弊进去,作弊进去感觉一方面是自己不踏实,其次就是都靠作弊了,那后面肯定工作的心态是不一样的,没有一种内驱力。
点赞 评论 收藏
分享
02-11 14:29
已编辑
字节跳动_QA
Edgestr:这种的写代码最狠了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务