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