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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fuqiuai/article/details/83117495

题目链接https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/description/

题目描述

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

示例

输入: “Let’s take LeetCode contest”
输出: “s’teL ekat edoCteeL tsetnoc”

注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

解决方法

题目较简单

class Solution {
public:
    string reverseWords(string s) {
        if (s.size()<=1) return s;
        
        int left=0,right=0;
        while(right<s.size()){
            int i=left;
            for (;i<s.size();i++){//找到空格
                if (isspace(s[i])){
                    right=i;
                    break;
                }
            }
            if (i==s.size()) right=s.size();
            reverse(s.begin()+left,s.begin()+right);
            left=right+1;
        }
        return s;

    }
};

猜你喜欢

转载自blog.csdn.net/fuqiuai/article/details/83117495