题目
给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例 1:
输入:s = "Let's take LeetCode contest"
输出:"s'teL ekat edoCteeL tsetnoc"
解法
每搜索到s中的一个空格就将这个空格到上一个空格的字符倒过来输入到str中,并在后面加一个空格。如果是最后一个单词,就不用加空格。
public String reverseWords(String s) {
StringBuffer str = new StringBuffer();
int a=-1,n=s.length();
for(int i=0;i<n;i++)
{
if(s.charAt(i)==' ')
{
for(int j=i-1;j>a;j--)
{
str.append(s.charAt(j));
}
str.append(' ');
a=i;
}
if(n-1==i)
{
for(int j=i;j>a;j--)
{
str.append(s.charAt(j));
}
}
}
return str.toString();
}