這個問題已經解決了,但我用另一種方式解決了這個問題。我只是想知道我是否正確。檢查我的解決方案如何從單個鏈接列表的末尾找到第n個元素
我的代碼是:
public static Object nthToLast(int n, LinkedList list)
{
int len = list.size();
if(n<0 || len<n)
return null;
return list.get(len-n);
}
謝謝!
這個問題已經解決了,但我用另一種方式解決了這個問題。我只是想知道我是否正確。檢查我的解決方案如何從單個鏈接列表的末尾找到第n個元素
我的代碼是:
public static Object nthToLast(int n, LinkedList list)
{
int len = list.size();
if(n<0 || len<n)
return null;
return list.get(len-n);
}
謝謝!
public static Object nthToLast(int n, LinkedList list)
{
int len = list.size();
if(n<0 || len < n){
return null;
}
return list.get(len-n);
}
所以這個解決方案也適用於這個問題,我的方法是正確的嗎? –
爲什麼你把
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,請確保您檢查您檢查的值是否在列表中,否則會給出錯誤。
這是使用相同的東西2次的錯誤。我沒有減去該值,因爲那樣會給出錯誤的答案,或者我將不得不在代碼後面添加1。 –
那就夠公平了。 –
此問題屬於http://codereview.stackexchange.com/ –
謝謝。我也會在那裏發佈它。 –
做'list.get(len-n)'的意義是什麼?'不把它分配給任何東西,然後把它打印出來? –