• 剑指office--------翻转单词顺序列


    题目描述

    牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
     
     
    思路1:借用string
     1 class Solution {
     2 public:
     3     string ReverseSentence(string str) {
     4         string ans="",temp="";
     5         int len=str.length();
     6         if (len==0)    return ans;
     7         
     8         for (int i=len-1;i>=0;i--){
     9             if (str[i]==' '){
    10                 ans+=' ';
    11                 continue;
    12             }
    13             while (i>=0&&str[i]!=' '){
    14                 temp=str[i]+temp;
    15                 i--;
    16             }
    17             if (i<0)
    18                 ans=ans+temp;
    19             else
    20                 ans=ans+temp+' ';
    21             temp="";
    22         }
    23         return ans;
    24     }
    25 };

    思路2:  第一步先整个翻转,第二步对单词进行一一翻转

     
  • 相关阅读:
    前端开发Code Review内容【vue记录】
    Blue Jeans
    Arbitrage
    Common Subsequence
    Palindrome
    Stockbroker Grapevine
    Asteroids
    Frogger
    All in All
    Highways
  • 原文地址:https://www.cnblogs.com/q1204675546/p/13362555.html
Copyright © 2020-2023  润新知