`
mmdev
  • 浏览: 12847192 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

一道面试题--翻转英文句子中的单词顺序

 
阅读更多

例如,句子"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;
}


分享到:
评论

相关推荐

    fengmin0722#algorithms-1#面试题58 - I. 翻转单词顺序1

    面试题58 - I. 翻转单词顺序输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。int temsize

    输入一个英文句子,翻转句子中单词的顺序

    输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 微软面试题

    java基础面试题翻转单词顺序列

    java基础面试题翻转单词顺序列本资源系百度网盘分享地址

    算法面试题500

    1.2.7. 翻转句子中单词的顺序....................................................................... 31 1.2.8. 判断整数序列是不是二元查找树的后序遍历结果 ................................ 33 1.2.9. ...

    反转字符串1

    程序员面试题精选100题(07)-翻转句子中单词的顺序[算法] 2007-03-08 09:20:52| 分类: 字符串 | 标签:编程 就业 找工作

    剑指Offer(Python多种思路实现):翻转字符串

    剑指Offer(Python多种思路实现):翻转字符串 面试58题: 题目:翻转字符串 ...Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 解题思路一:Python特性 class Solution: def ReverseSentence(self, s):

    左程云leetcode-LeetCode:力扣解决方案

    翻转单词顺序(简单)][]         [剑指 Offer 05. 替换空格(简单)][]       经典atoi(),注意范围越界处理   题型 找规律题 第二讲:找规律题 [面试题 01.08. 零矩阵 (简单)][]   [剑指 Offer 61. ...

    世界500强面试题.pdf

    1.2.7. 翻转句子中单词的顺序....................................................................... 31 1.2.8. 判断整数序列是不是二元查找树的后序遍历结果 ................................ 33 1.2.9. 查找...

    point-to-offer-edition2:剑指offer第二版的java实现

    point-to-offer-edition2 剑指offer原书第二版的java实现 说明 《剑指offer》,从名字上看虽不是一本系统的算法书,但很多师兄师姐都推荐它,因为很多...58.翻转单词顺序 286 58.2.左旋转字符串 318 67.把字符串转换

Global site tag (gtag.js) - Google Analytics