• 557. Reverse Words in a String III


    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"



    C++(22ms):
     1 class Solution {
     2 public:
     3     string reverseWords(string s) {
     4         int left = 0 ;
     5         for (int i = 0; i <= s.length(); i++) {
     6             if ( i == s.length() || s[i] == ' ') {   
     7                 reverse(s.begin() + left , s.begin() + i) ;
     8                 left = i+1 ;
     9             }
    10         }
    11 
    12         return s;
    13     }
    14 };


    C++(43ms):
     1 class Solution {
     2 public:
     3     string reverseWords(string s) {
     4         int left = 0 ;
     5         int num = 0 ;
     6         string ans = "" ;
     7         for(int i = 0 ; i < s.size() ; i++){
     8             if (s[i] != ' '){
     9                 num++ ;
    10             }
    11             else if (s[i] == ' '){
    12                 string t = s.substr(left,num) ;
    13                 reverse(t.begin(),t.end());
    14                 ans +=  t + ' ' ;
    15                 left = i+1 ;
    16                 num = 0 ;
    17             }
    18 
    19         }
    20         string t = s.substr(left,s.size()) ;
    21         reverse(t.begin(),t.end());
    22         ans += t ;
    23         return ans ;
    24     }
    25 };

    C++(29ms):

     1 class Solution {
     2 public:
     3     string reverseWords(string s) {
     4         for (int i = 0; i < s.length(); i++) {
     5             if (s[i] != ' ') {   
     6                 int j = i;
     7                 while(j < s.length() && s[j] != ' ')
     8                    j++;
     9                 reverse(s.begin() + i, s.begin() + j);
    10                 i = j;
    11             }
    12         }
    13 
    14         return s;
    15     }
    16 };
  • 相关阅读:
    面试题 面试技巧
    面试 11-02.ES6
    面试 11-00.JavaScript高级面试
    面试 11-01.ES6:模块化的使用和编译环境
    面试 10-01.页面性能优化
    面试 09-02.js运行机制:异步和单线程
    面试 10-02.前端错误监控
    选择屏幕-SELECTION-SCREEN(二)
    ◆◆0如何创建代码模板
    行选择交互事件
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/6941779.html
Copyright © 2020-2023  润新知