人 我在某些基本问题上遇到了问题。对于下面的问题,我有一个建议的解决方案,但我不明白countX == str.substring(1)的静态参数应该如何搜索整个String,该参数是静态1(? !?!):
public int countX(String str) {
if (str.length() == 0) return 0;
if (str.charAt(0) == 'x') return 1 + countX(str.substring(1));
return countX(str.substring(1));
}
相反,我在寻找解决方案之前就想到了这种解决方案,但无法弄清楚如何识别子字符串中最右边的char以便与搜索到的char'x'进行比较(第3行)
public int countX(String str) {
if (str.length()>0) {
if (str.charAt(str.substring(str.length()-1) == 'x'))
return countX (str.substring(str.length()-1)) + 1;
else
return countX (str.substring(str.length() -1)
}
else
return 0;
}
任何建议为我关于第一溶液无知和我的第二错误?预先感谢
答案 0 :(得分:0)
让我解释第一溶液。想法是将字符串分成第一个字符和其余字符。
要还捕获一个空字符串的情况下,将输入的长度被首先检查。如果长度为0,则x的计数是零。