Leetcode - 557反转字符串中的单词III

    xiaoxiao2023-07-01  148

    557反转字符串中的单词III

    题目描述

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

    示例 1: 输入: “Let’s take LeetCode contest” 输出: “s’teL ekat edoCteeL tsetnoc” 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

    题目给出的接口为:

    class Solution { public: string reverseWords(string s) { } };

    题目分析

    以空格为标志将每段字符串取出来,倒置插入新的字符串。最后一段字符串后没有空格,所以直接倒置插入新字符串。

    代码如下:

    class Solution { public: string reverseWords(string s) { string res = ""; int pre = 0 , pos = 0; while(s[pos] != 0){ if(s[pos] == ' ') { for(int i = pos - 1 ; i >= pre ; i--) res += s[i]; pos ++; pre = pos; res += ' '; } pos ++; } for(int j = s.size()-1 ; j >= pre ; j--) res += s[j]; return res; } };

    最新回复(0)