我创建了这个循环来计算堆栈中在[-10; 10]区间内的元素,但是当我返回答案时,我可以看到,它不计算最后一个节点,是否存在这里出了什么问题?
public int intervalNumbers() {
int counter = 0;
Node node;
for (node = top;
node.link != null;
node = node.link) {
if (node.data >= -10 && node.data <= 10) {
counter++;
}
}
return counter;
}
答案 0 :(得分:2)
有点关闭一个案例。
for (node = top;
node.link != null;
node = node.link)
由于条件node.link != null
,最后一个节点不执行循环体(因为最后一个节点的链接为空)
将其更改为node != null