我在名爲ImageNode的類中有一個名爲Image的類,該類傳遞了頭(,這個 - 鏈表的起點)。 我以爲我的代碼會遞歸地遍歷每個節點,增加計數,然後當它在最後返回計數,不幸的是不。我哪裏錯了?以遞歸方式返回鏈表中的元素數
private int countRec() {
int count = 1;
ImageNode node = this;
if (node.next != null){
node = node.next;
count++;
countRec();
}
return count;
}
'int count = 1;'你總是將計數設置爲1,遞增並返回它。 – TheLostMind 2014-09-19 06:16:29
計數不應該是您的方法的局部變量 – zerocool 2014-09-19 06:16:49
您正在通過方法調用重置計數,並且每個countRec()方法都會將計數設置爲'1',將節點設置爲'this'每次都會產生相同的結果 – 2014-09-19 06:18:27