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

相关推荐

11-14 16:13
已编辑
重庆科技大学 测试工程师
Amazarashi66:不进帖子我都知道🐮❤️网什么含金量
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务