这个问题最近在面试中被问到,谁能告诉我解决方案,因为我无法调试它
public static void main(String[] args)
{
i could not able to do it
}
input: hello bro how are you
output: uoy are woh bro olleh
input: fire exit
output: tixe fire
首先需要反转整个字符串,然后需要反转结果字符串
最佳答案
一种简单的方法是在空格上分割输入字符串,然后向后迭代,从反转第一个单词开始反转所有其他单词。
String input = "hello bro how are you";
String[] parts = input.split(" ");
StringBuilder sb = new StringBuilder();
for (int i=0; i < parts.length; ++i) {
StringBuilder rev = new StringBuilder(parts[parts.length - i - 1]);
if (i > 0) sb.append(" ");
sb.append(i % 2 == 0 ? rev.reverse() : rev);
}
System.out.println(sb.toString());
uoy are woh bro olleh
Demo
关于java - 反转字符串,第一个需要反转,第二个需要按原样打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52005696/