557. 反转字符串中的单词 III

557. 反转字符串中的单词 III

class Solution 
{
public:
    void Reverse(string& s, int start, int end)
    {
        while (start < end)
        {
            swap(s[start], s[end]);
            start++;
            end--;
        }
    }
    string reverseWords(string s)
    {
        size_t index = 0;
        size_t pos = 0;
        while (index < s.size())
        {
            pos = s.find(' ', index);
            if (pos == string::npos)
            {
                pos = s.size();
                Reverse(s, index, pos - 1);
                break;
            }
            Reverse(s, index, pos - 1);
            index = pos + 1;
        }
        
        return s;
    }
};

557. 反转字符串中的单词 III_第1张图片

你可能感兴趣的:(C家家精品好题,c++)