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

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

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

这是一个没有灵魂的双指针法

测试用例里倒数第0个是0,我就写成0了

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
        int num=sc.nextInt();
         ListNode head=new ListNode(sc.nextInt());
         ListNode cur=head;
        for(int i=1;i<num;i++){
            ListNode node=new ListNode(sc.nextInt());
            cur.next=node;
            cur=cur.next;
        }
        int k=sc.nextInt();
        ListNode cur2=head;
        ListNode cur3=head;
        int i=1;
        if(k>num||k<=0){
            System.out.println(0);
        }
        else{
        while(i<k){
            cur2=cur2.next;
            i++;
        }
        while(cur2.next!=null){
            cur2=cur2.next;
            cur3=cur3.next;
        }
        System.out.println(cur3.val);
        }
    }
}
}
class ListNode{
    int val;
    ListNode next;
    ListNode(int val){
        this.val=val;
    }
}
全部评论

相关推荐

04-08 13:31
已编辑
门头沟学院 前端工程师
D0cC:京东营收1万多亿人民币,阿里9000多亿,虽然他俩利润都没腾讯和字节多,但是很恐怖了啊,负担了多少打工人的薪水
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务