557. Reverse Words in a String III

来源:互联网 发布:什么是overlay网络 编辑:程序博客网 时间:2024/06/05 09:03

Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.

Example 1:

Input: "Let's take LeetCode contest"Output: "s'teL ekat edoCteeL tsetnoc"

Note: In the string, each word is separated



反转一个字符串中的每一个词,每个词用一个空格隔开。用两个索引来表示每个词的开始和结尾,对每个词使用倒转操作即可。


代码:
class Solution{public:string reverseWords(string s){int i = 0, j = 0;while(i < s.size()){while(j < s.size() && s[j] != ' ') ++j;reverseWord(s, i, j-1);i = ++j;}return s;}private:void reverseWord(string& s, int i, int j){while(i < j){swap(s[i++], s[j--]);}}};

原创粉丝点击