• LeetCode Reverse Words in a String 将串中的字翻转


     1 class Solution {
     2 public:
     3     void reverseWords(string &s) {
     4             string end="",tem="";
     5             char *p=&s[0];
     6             while(*p!=''){
     7                 while(*p==' ')                //过滤多余的空格,针对串头
     8                     p++;
     9                 while(*p!=' '&&*p!=''){    //积累一个单词,存于临时串
    10                     tem=tem+*p;
    11                     p++;
    12                 }
    13                 while(*p==' ')                //过滤多余的空格,针对串尾
    14                     p++;
    15                 if(*p!='')        //最后一个字不用加空格
    16                     tem=' '+tem;
    17                 end=tem+end;
    18                 tem="";            //临时字符串清空
    19             }
    20             s=end;
    21     }
    22 };

    题意:将字符串中的字按反序排列,每个字中间有一个空格,串前和串尾无空格。字的顺序不用改变,改变的是字在串中的顺序。

    思路:过滤串的前面和后面的空格,用指针从前往后扫, 再用一个临时串保存字,满一个字的时候就添加在将最终的串的前面。扫完该串就将最终的串赋给s。

  • 相关阅读:
    falsk 自定义中间件
    练习题
    4.12 作业题
    测试笔试题2
    测试笔试题
    简答题
    单选题
    普华和诚测试笔试试题
    缺陷报告
    测试用例点
  • 原文地址:https://www.cnblogs.com/xcw0754/p/4127275.html
Copyright © 2020-2023  润新知