翻转单词顺序列

Posted vaevaevae

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了翻转单词顺序列相关的知识,希望对你有一定的参考价值。

先整体翻转一次,再一个个进行翻转,需要注意的是代码里一些字符串的操作,值得记住。

技术分享
 1 class Solution {
 2 public:
 3     string ReverseSentence(string str) {
 4         if (str.empty()) return str;
 5         reverse(str.begin(), str.end());
 6          
 7         size_t beg = 0;
 8         size_t end = 0;
 9         while (end != string::npos){
10             beg=str.find_first_not_of( ,beg);
11             end=str.find_first_of( ,beg);
12              
13             if (beg == string::npos) return str;
14             if (end == string::npos)
15                 reverse(str.begin()+beg, str.end());
16             else
17             {
18                 reverse(str.begin()+beg, str.begin()+end);
19                 beg = end+1;
20             }
21         }
22          
23         return str;    
24     }
25 };
View Code

 

以上是关于翻转单词顺序列的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer - 翻转单词顺序列

剑指offer-翻转单词顺序列

引用参数(翻转单词顺序列)

剑指OFFER 翻转单词顺序列

翻转单词顺序列

剑指offer-翻转单词顺序列