我被要求写一些东西来确定一个数组是否是另一个更大数组的子集。我决定从一个更简单的问题开始,并编写了一个函数来确定字符数组中是否存在字符。我想出了这段代码:
private static boolean findSequenceRecHelper(char [] findIn, char c, int index) {
boolean result = false;
if(index<findIn.length) {
if(findIn[index] == c) {
result = true;
}
else {
findSequenceRecHelper(findIn,c,index+1);
}
}
return result;
}
我做了一些调试,发现该函数遍历整个char[]
数组,当数组中的元素等于所需值时,result
变为true
. 但话又说回来,它false
实际上false
是返回的,这是不正确的。
我在这里找不到错误 - 有人可以帮我解决这个问题。