剑指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:  第一步先整个翻转,第二步对单词进行一一翻转

 
posted @ 2020-07-22 18:43  生活待我如初恋  阅读(139)  评论(0编辑  收藏  举报