首页 > 其他 > 详细

LeetCode - Refresh - Reverse Words in a String II

时间:2015-03-23 11:09:31      阅读:247      评论:0      收藏:0      [点我收藏+]

Reverse in place:

1. reverse the whole sentence.

2. reverse every word.

We cant do it for I, because there are extra spaces in sentence.

 1 class Solution {
 2 public:
 3     void reverse(string &s, int start, int end) {
 4         while (start < end) {
 5             [](char &a, char &b) {char c = a; a = b; b = c;}(s[start++], s[end--]);
 6         }
 7     }
 8     void reverseWords(string &s) {
 9         int len = s.size(), index = 0;
10         reverse(s, 0, len-1);
11         for (int i = 0; i < len; i++) {
12             if (s[i] ==  ) {
13                 reverse(s, index, i-1);
14                 index = i+1;
15             }
16         }
17         reverse(s, index, len-1);
18     }
19 };

 

LeetCode - Refresh - Reverse Words in a String II

原文:http://www.cnblogs.com/shuashuashua/p/4359048.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!