思路
- 先对每一个单词实现翻转,再对整个数组实现翻转。
 - 这样单词实现了两次翻转,所以单词个体的顺序仍不变,但单词间的顺序发生了变化。
 
class Solution {    public void reverseWords(char[] s) {        if(s.length==0) return;        int index = 0;        //先挨个单词进行反转        for(int i=0;i<=s.length;i++){            if(i==s.length||s[i]==' '){  //注意这里i==s.length对最后一个单词的边界条件判断                reverse(s,index,i);                index =i+1;            }        }        reverse(s,0,s.length);    }    //辅助的反转方法    public void reverse(char[] str,int start,int end){        int count = 0;        for(int i =start;i<(end+start)/2;i++){            char t = str[i];            str[i]=str[end-1-count];            str[end-1-count]=t;            count++;        }    }}