我发现了一个关于 codingBat 的有趣练习,现在我有一个关于解决方案的问题。任务是:
给定一个字符串,true如果字符串中的第一个实例x后面紧跟另一个,则返回x。
我写的是:
boolean doubleX(String str) {
return str.contains("x") ? str.indexOf('x') == str.length() - 1 ? false : str.charAt(str.indexOf('x')) == str.charAt(str.indexOf('x') + 1) : false;
}
他们在页面上的解决方案是:
boolean doubleX(String str) {
int i = str.indexOf("x");
if (i == -1) return false; // no "x" at all
// Is char at i+1 also an "x"?
if (i+1 >= str.length()) return false; // check i+1 in bounds?
return str.substring(i+1, i+2).equals("x");
所以现在我的问题是哪个解决方案具有更好的编码风格?哪种解决方案更美观或更高效?
谢谢大家的回答
Qyouu
相关分类