zoukankan      html  css  js  c++  java
  • Reverse Words in a String

    Given an input string, reverse the string word by word.

    For example,
    Given s = "the sky is blue",
    return "blue is sky the".

    click to show clarification.

    Clarification:

     

    • What constitutes a word?
      A sequence of non-space characters constitutes a word.
    • Could the input string contain leading or trailing spaces?
      Yes. However, your reversed string should not contain leading or trailing spaces.
    • How about multiple spaces between two words?
      Reduce them to a single space in the reversed string.
    思路:从头往后扫描字符串,从第一个开始不是空格算起。将单词放入temp中,直到遇到空格,作如下处理,将单词放入result中去,接下来再有单词可以放到上一个单词的前面,另加空格。如此反复,就可以将单词与单词为单位反转了。
    class Solution {
    public:
        void reverseWords(string &s) {
            int nLen=s.size();
            if(nLen<=0)
                return;
            string temp,result;
            int index=0;
            while(s[index]==' ')
                index++;
            for(int i=index;i<nLen;)
            {
                if(s[i]!=' ')
                {
                    temp+=s[i];
                    i++;
                }
                else
                {
                    while(s[i]==' ')
                        i++;
                    if(i==nLen)
                        break;
                    result=" "+temp+result;
                    temp="";
                }
            }
            s=temp+result;
        }
    };
  • 相关阅读:
    Oracle分页查询
    Oracle表空间
    Oracle中DBA常用操作
    数据库的约束
    数据库设计的三范式
    数据类型的比较 有四种情况
    github快速上手
    3D正方体做法
    animation-声明关键帧
    轮播图样式
  • 原文地址:https://www.cnblogs.com/awy-blog/p/3830810.html
Copyright © 2011-2022 走看看