这个问题最近在采访中被问到,因为我无法调试,所以谁能告诉我解决方案
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
首先需要反转整个字符串,然后必须反转结果字符串
答案 0 :(得分:1)
一种直接的方法是在空间上分割输入字符串,然后向后迭代,从反转第一个单词开始,反转所有其他单个单词。
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
答案 1 :(得分:1)
解决问题: