Given a string, return
true
if the first instance of"x"
in the string is immediately followed by another"x"
. For example:doubleX("xxxxx") → true
.
下面是我的代码,适用于除 "axxbb"
之外的每个字符串。该字符串返回 false。
boolean doubleX(String str) {
for (int i = 0; i < str.length() - 1; i++) {
if (str.charAt(i) == 'x' && str.charAt(i + 1) == 'x')
return true;
break;
}
return false;
}
最佳答案
您有两个问题:
在循环的第一次迭代后中断。
即使删除该中断后,如果第一个 x 后面没有 x,但另一个 x 后面有 x,您也会返回 true(例如 -
axaxxa
将错误地返回 true)。
更好的实现:
boolean doubleX(String str) {
for(int i=0;i<str.length()-1;i++){
if(str.charAt(i)=='x')
if (str.charAt(i+1)=='x') {
return true;
} else {
return false;
}
}
return false;
}
关于java - 给定一个字符串,如果字符串中第一个 "x"实例后紧跟着另一个 "x",则返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33329133/