基本上我不知道为什么我的整数n
没有变高。
谢谢你的每一个答案!
public int n;
public int firstIndexOf(T val) {
if (val == this.getValue()) {
return n;
} else {
if (val != this.getValue() && this.next != null) {
n++;
return this.next.firstIndexOf(val);
} else {
return -1;
}
}
}
答案 0 :(得分:0)
增量(n ++)处于错误状态检查:
private int n = 0;
public int firstIndexOf(int val) {
if ( val == this.getValue() ) {
return n+1; //This is were the increment should happen
}
else {
if ( this.next != null ) {
return this.next.firstIndexOf(val);
} else {
return -1;
}
}
}
另外,如果要计算链表中与val具有相同值的所有元素,可以使用:
private int n = 0;
public int firstIndexOf(int val) {
if ( val == this.getValue() ) {
if ( this.next != null ) {
return 1 + this.next.firstIndexOf(val);
}
else {
return 1;
}
} else {
if ( this.next != null ) {
return this.next.firstIndexOf(val);
} else {
return 0;
}
}
}