本文共 801 字,大约阅读时间需要 2 分钟。
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例 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; }};
转载地址:http://duzfi.baihongyu.com/