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;
        }
    };
  • 相关阅读:
    DOM型XSS(pikachu)
    第十周笔记
    第九周数据结构
    第八周数据结构笔记
    第七周笔记
    第六周笔记
    第五周数据结构
    第四周笔记
    数据结构(第三周)
    数据结构—第二周学习笔记
  • 原文地址:https://www.cnblogs.com/awy-blog/p/3830810.html
Copyright © 2011-2022 走看看