【发布时间】:2018-06-13 06:34:37
【问题描述】:
提交后它说答案是错误的,请告诉我其中的逻辑错误是什么,而不是格式或其他方法。
public class Solution {
public static String reverse(String s1){
int i=s1.length()-1;
String s2="";
while(i>=0){
s2=s2+s1.charAt(i--);
}
s2=s2+' ';
return s2;
}
// Return the reversed string. No need to print
public static String reverseEachWord(String s1) {
s1=s1+"";
String s2="";
int i=0;
char ch;
String temp="";
while(i<s1.length()){
ch=s1.charAt(i);
if(ch!=' '){
temp=temp+ch;
i++;
}
else{
temp=reverse(temp);
s2=s2+temp;
temp="";
i++;
}
}
return s2;
}
}
【问题讨论】:
-
我在java中反转给定字符串的每个单词的代码有什么问题?给我们一个提示怎么样?也许是因为你的代码格式很糟糕?
-
有什么问题?为什么?你期待什么?反而发生了什么?有什么错误吗?如果是,请发布堆栈跟踪。
-
结果字符串为空
-
您正在将字符串
s1的每个单词收集到temp中;一旦你在temp中找到了一个完整的单词,你就可以反转something 并将反转的something 附加到s2。但我认为你扭转了错误的某事... -
int j = 0;在第一种方法中没有做任何事情。对于第二种方法,最简单的实现是调用s1.Split(' ')来获取单词数组,然后将第一种方法应用于每个单词并将所有内容重新组合在一起。