倒计时144.5t~冲鸭~~~~~

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

示例 1:

输入: "Let's take LeetCode contest"
输出: "s'teL ekat edoCteeL tsetnoc" 

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

思路:

我运用了string 中的搜索操作(各种find)寻找“ ”,然后reverse翻转:::

我的代码::

 1 class Solution {
 2 public:
 3     string reverseWords(string s) {
 4 
 5         int pos = 0;
 6         int temp;
 7         while((temp = s.find_first_of(" ",pos) )!= string::npos )
 8         {
 9             reverse(s.begin()+pos,s.begin()+temp);
10             pos = temp+1;
11         }
12         reverse(s.begin()+pos,s.end());
13         return s;
14     }
15 };
执行用时 :  32 ms, 在Reverse Words in a String III的C++提交中击败了25.80% 的用户
内存消耗 :  11.7 MB, 在Reverse Words in a String III的C++提交中击败了2.02% 的用户

猜你喜欢

转载自www.cnblogs.com/xuanxuanbk/p/10675916.html