剑指offer 面试题15:链表中倒数第k个结点 程序报错

题目是这样的:题目: 输入一个链表,输出该链表中倒数第k哥结点。

为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。

 例如一个链表有6个结点,从头结点开始它们的值依次是1,2,3,4,5,6.这个链表的倒数第3个结点是值为4的结点
我写的代码是:
import java.util.ArrayList;

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
    	ArrayList<ListNode> arrayList=new ArrayList<ListNode>();//创建一个集合,将所有的ListNode放进去
    	if(head==null||k<=0){
    		return null;
    	}
    	int i=1;
        while(head!=null){
        	arrayList.add(head);
        	if(head.next!=null){
        	  head=head.next;
        	  i++;//得到arrayList的元素数目
        	}else{
        		break;
        	}
    	}
        if(i<k){
        	return null;
        }else{
            return arrayList.get(i-k+1);//得到倒数第k个ListNode
            }        
    }
}
但是在牛客网的剑指offer专题里报错

#Java工程师##安卓工程师#
全部评论
越界了,i从0开始
点赞 回复 分享
发布于 2016-07-15 19:03

相关推荐

03-19 17:49
运营
牛客327038019号:你把那贼低的gpa写上去干嘛
点赞 评论 收藏
分享
03-28 19:11
铜陵学院 C++
有礼貌的山羊追赶太阳:太典了,连笔试都没有开始就因为HC满了而结束了,而且还卡你不让你再投其他部门的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务