我想颠倒字符串中的字词。考虑一个字符串'我的名字是abc'。预期产出应该是'cba si eman yM'。但我的输出是'cba si emanyM'。最终的空格字符有问题。有人能帮我吗?颠倒字符串的字符
我一个试图从终端 这里反向字符串的代码
void reverse(String str)
{
int i = str.length() - 1;
char[] arr = str.toCharArray();
for(int j = arr.length - 1; j > 0; j--){
if(arr[j] == ' '){
swap(arr,i, j);
i = j - 1;
}
}
System.out.println(new String(arr).toString());
}
void swap(char[] s,int start, int end){
while(start > end){
char temp = s[start];
s[start] = s[end];
s[end] = temp;
start --;
end++;
}
}
public static void main(String args[])
{
String str = "My name is abc";
ReversWords r = new ReversWords();
r.reverse(str);
}
应该'同时(开始>结束){'是'而(启动<结束){'也许? –
任何原因你不只是使用堆栈? –
'System.out.println(new StringBuilder(str).reverse());' –