一道面试题--翻转英文句子中的单词顺序
2011-09-24 00:22
393 查看
例如,句子"I miss you now"转为"now you miss I"。
思路是先将整个句子翻转过来,然后再将每一个单词重新翻转一次,便可以得出翻转单词顺序的效果。
代码示例:
思路是先将整个句子翻转过来,然后再将每一个单词重新翻转一次,便可以得出翻转单词顺序的效果。
代码示例:
void Reverse(char* pb , char* pe) //将某一段字符串翻转过来 { char *pl = pb , *pr = pe; while(pl!=pr&&pl&&pr) { char temp = *pl; //不能写成char * temp = pl;否则交换字符的操作失败 *pl = *pr; *pr = temp; if(pl+1==pr)break; pl++; pr--; } } char * reverseSentence(char * pData) { if(!pData)return NULL; char * pBegin = pData; char * pEnd = pData; while(pEnd&&*pEnd!='\0')pEnd++; pEnd--; Reverse(pBegin,pEnd); //整个句子翻转 pBegin = pEnd = pData; while(pEnd&&*pEnd!='\0') //翻转每个单词 { while(*pEnd!='\0'&&*pEnd!=' ')pEnd++; --pEnd; Reverse(pBegin , pEnd); ++pEnd; while(*pEnd!='\0'&&*pEnd==' ')pEnd++; pBegin = pEnd; } return pData; }
相关文章推荐
- 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
- 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
- 经典面试题:翻转英文句子中单词的顺序
- (Java)输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开
- 一个面试题:翻转句子中单词的顺序
- 程序员面试题精选100题(07)-翻转句子中单词的顺序
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。(笔试题) 句子中单词以空格符隔开。为简单起见,没有标点符号。 例如输入“I am a student”,则输出“student a
- "输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不改变
- 程序员面试题100题第07题——翻转句子中单词的顺序
- 面试题42:翻转单词顺序(句子反转)
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符顺序不变
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 句子中单词以空格符隔开。为简单起见,没有标点符号。 例如输入“I am a student”,则输出“student a
- java算法实现之--输入一个英文句子,翻转句子中的单词顺序,但单词内字符的顺序不变
- 输入一个英文句子,翻转句子中单词的顺序,单词内字符顺序不变
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
- 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
- 程序员面试题精选100题(07)-翻转句子中单词的顺序
- 翻转英文句子中单词的顺序