检查我的解决方案如何从单链表的末尾找到第n个元素

时间:2016-03-13 03:37:59

标签: java

这个问题已经解决但我以另一种方式解决了这个问题。我只是想知道我是否正确。

我的代码是:

public static Object nthToLast(int n, LinkedList list)
{
    int len = list.size();
    if(n<0 || len<n)
        return null;
    return list.get(len-n);
}

谢谢!

2 个答案:

答案 0 :(得分:0)

public static Object nthToLast(int n, LinkedList list)
{
    int len = list.size();
    if(n<0 || len < n){
      return null;
    }
    return list.get(len-n);
}

答案 1 :(得分:0)

你为什么要把

list.get(len-n);
System.out.println(list.get(len-n));

分别?

 System.out.println(list.get(len-n));

会正常工作。

此外,由于您还没有真正澄清您的计算方式,您可能想要使用len = list.size()-1;这样,它与开始时的约定相同从前面开始,最后一个元素在n = 0,倒数第二个在n = 1,等等。

正如rahulroc所做的那样,请务必检查您检查的值是否在列表中,否则会出错。