【发布时间】:2015-05-20 10:14:38
【问题描述】:
这是我的任务: 给定一个字符串,“xyz”是否出现在字符串的中间?要定义中间,我们会说“xyz”左右的字符数最多相差一个。
others用例中的问题描述和失败可以通过here下面的代码看到
xyzMiddle("AAxyzBB") → 真
xyzMiddle("AxyzBB") → 真
xyzMiddle("AxyzBBB") → 假
我的解决方案如下。由于我看不到“其他测试”是什么,请帮我找出问题所在。我的方法是检查'y'是否出现在奇数或偶数字符串的中间。
public boolean xyzMiddle(String str) {
if (str.indexOf("xyz") < 0) return false;
int l = str.length();
int m = l / 2;
if (l % 2 != 0) {
if (str.charAt(m) != 'y') return false;
}
else {
if (str.charAt(m) != 'y' && str.charAt(m - 1) != 'y') return false;
}
return true;
}
【问题讨论】: