题解 | #输出单向链表中倒数第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;
    }
}
全部评论

相关推荐

我即大橘:耐泡王
点赞 评论 收藏
分享
粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务