use*_*177 5 java stringbuilder palindrome
我试图创建一个回文检查器.我正在使用StringBuilder,我发现附加空格有点棘手.
当单词没有空格时,此代码有效:
public String palindrome (String anyString) {
StringBuilder sb = new StringBuilder();
for (int i = anyString.length()-1; i>=0; i--) {
sb.append(anyString.charAt(i));
}
String string2 = sb.toString();
return string2;
}
Run Code Online (Sandbox Code Playgroud)
当输入的单词有空格时; 它返回一个字符串,其中包含第一个空格的字符.
例如:
word = "not a palindrome"
palindrome(word) = "emordnilap"
Run Code Online (Sandbox Code Playgroud)
期待 ="emordnilap一吨"
我试过插入
if (anyString.charAt(i) != ' ')
sb.append(anyString.charAt(i));
else
sb.append(' ');
Run Code Online (Sandbox Code Playgroud)
在代码的中间,但它不起作用.
多谢你们!
使用StringBuilder.reverse()方法代替,它工作得更快(1378行),更正确
StringBuilder sb = new StringBuilder("not a palindrome");
System.out.println(sb.reverse());
Run Code Online (Sandbox Code Playgroud)
输出:
emordnilap一吨