77. 翻转单词顺序

77. 翻转单词顺序

 

 

1.翻转整个句子

2.翻转每个单词

class Solution {
public:
    string reverseWords(string s) {
        /*翻转整个句子 */
        for(int i=0,j=s.size()-1; i < j; i++,j--)
            swap(s[i],s[j]);
        //cout<<s<<endl;    
        /*翻转每个单词*/  //相当于m、k2个指针
        for(int k = 0; k < s.size(); k ++)
        {
            int m=k;
            while(m < s.size() && s[m]!=' ') m++;
            //cout<<m<<endl;
            reverse(s.begin()+k,s.begin()+m);
            k = m;//m指向的是空格,执行到这一步后,会跳会for循环,执行k++,执行下一个不是空格的字符
        }
        return s;
    }
};

 

上一篇:LeetCode 77. 组合


下一篇:centos 部署tomcat