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

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

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            Single_Linklist a_list = new Single_Linklist();
            for(int i =0;i<a;i++){
                Node node = new Node(in.nextInt());
                a_list.add(node);
            }
            int k = in.nextInt();
            int list_len = a_list.get_lenth();
            if((list_len-k+1)>0){
                System.out.println(a_list.get_node(list_len-k+1));
            }
        }
    }
}
class Node{
    int num;
    Node next_Node;
    public Node (int number){
        this.num = number;
    }
}
class Single_Linklist{
    private Node head = new Node(0);

    public void add(Node a_node){
        Node temp = head;
        while(true){
            if(temp.next_Node == null){
                break;
            }
            temp = temp.next_Node;
        }
        temp.next_Node = a_node;
    }

    public int get_lenth(){
        if(head.next_Node == null){
            return 0;
        }
        int sum = 0;
        Node temp = head;
        while(true){
            if(temp.next_Node == null){
                break;
            }
            sum+=1;
            temp = temp.next_Node;
        }
        return sum;
    }
    public int get_node(int k){
        Node temp = head;
        int  a = 0;
        while(true){
            if(temp.next_Node == null){
                System.out.println("该位置不存在!");
                return 0;
            }
            temp = temp.next_Node;
            a++;
            if(a == k){
                break;
            }
            
        }
        return temp.num;
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
07-18 18:05
门头沟学院 Java
挂了&nbsp;正式批求捞
投递滴滴等公司10个岗位
点赞 评论 收藏
分享
Lorn的意义:1.你这根本就不会写简历呀,了解太少了 2.你这些项目经历感觉真的没啥亮点啊,描述的不行,重写书写一下让人看到核心,就继续海投 注意七八月份ofer还是比较多的,越往后机会越少,抓住时机,抓紧检查疏漏,加油查看图片
点赞 评论 收藏
分享
一表renzha:手写数字识别就是一个作业而已
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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