我在名为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