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

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

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

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

import java.util.ArrayList;
public class Main {
    public int x;
    public Main child;
    public void setX(int x) {
        this.x = x;
    }
    public int getX() {
        return this.x;
    }
    public void setChild(Main child) {
        this.child = child;
    }
    public Main getChild() {
        return this.child ;
    }
    public static void main(String args[]) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            int N = scan.nextInt();
            int [] a = new int [N];
            for (int i = 0; i < N; i++) {
                a[i] = scan.nextInt();
            }
            int k = scan.nextInt();
            Main listNodeHead = new Main();
            listNodeHead.setX(a[0]);
            Main listNodeHead2 = listNodeHead;
            for (int i = 1; i < N; i++) {
                Main listNode = new Main();
                listNode.setX(a[i]);
                listNodeHead.setChild(listNode);
                listNodeHead =
                    listNode;//之前的指向被listNodeHead2等指向,所以空间和数据不会被回收
            }
            for (int i = 0; i < N - k; i++) {
                listNodeHead2 = listNodeHead2.getChild();
            }
            System.out.println(listNodeHead2.getX());
        }
    }
}
全部评论

相关推荐

牛客鼠:校友你这简历基本无敌了,春招刷刷题去冲大厂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务