一、541.题目
541. 反转字符串 II - 力扣(LeetCode)


二、代码
class Solution {
public:
    void reverse_begin_end(string& s, int begin, int end)
{
    while (begin < end)
    {
        swap(s[begin], s[end]);
        begin++;
        end--;
    }
}
string reverseStr(string s, int k)
{
    int i=0;
    while(i<s.size())
    {
        if(k<s.size()-i)//剩余字符数大于k个(i是下一组数据起始下标)
        {
            reverse_begin_end(s,i,i+k-1);
        }
        else
        {
            reverse_begin_end(s,i,s.size()-1);
        }
        i=i+2*k;
    }
    return s;
}
}; 
三、557.反转字符串中的单词 3
557. 反转字符串中的单词 III - 力扣(LeetCode)

四、代码
class Solution {
public:
    void reverse(string &s,int begin,int end)
    {
        while(begin<end)
        {
            swap(s[begin],s[end]);
            begin++;
            end--;
        }
    }
    string reverseWords(string s) {
        size_t start =0;
        size_t pos=0;
        while(s[pos]!='\0')
        {
            if(s[pos]==' ')
            {
                reverse(s,start,pos-1);
                start = pos+1;
            }
            pos++;
        }
        reverse(s,start,pos-1);
        return s;
    }
}; 
                


















