《剑指offer》翻转单词顺序列

【 声明:版权所有,转载请标明出处,请勿用于商业用途。 联系信箱:libin493073668@sina.com】

题目链接:?rp=3&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

题目描述JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?思路这道题比较简单了,首先反转整个字符串,然后再反转每个单词即可。

class Solution{public:string ReverseSentence(string str){int len = str.length();if(len==0)return str;Reverse(str,0,len);int beg = 0,end = 0;while(beg<len){if(str[beg]==' '){beg++;end++;}else if(str[end]==' ' || str[end]=='\0'){Reverse(str,beg,end);beg = ++end;}elseend++;}return str;}void Reverse(string& str,int beg,int end){for(int i = beg; i<(beg+end)/2; ++i)swap(str[i],str[beg+end-1-i]);}};

版权声明:本文为博主原创文章,如果转载,,请注明出处

看了哪些风景,遇到哪些人。尽管同学说,去旅行不在于记忆,

《剑指offer》翻转单词顺序列

相关文章:

你感兴趣的文章:

标签云: