您的位置:首页 > 职场人生

《程序员面试金典》原串翻转

2015-09-16 15:28 316 查看



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





题目链接:http://www.nowcoder.com/practice/2442435405fa432b99b8ec1cb0315902?rp=1&ru=/ta/cracking-the-coding-interview&qru=/ta/cracking-the-coding-interview/question-ranking

题目描述

请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。

给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。

测试样例:

"This is nowcoder"

返回:"redocwon si sihT"

思路

应该不少同学也做过这种类型的题了,翻转字符就是折半交换,应该不需要解释什么了

class Reverse
{
	public:
		string reverseString(string iniString)
		{
			// write code here
			if(iniString=="")
				return iniString;
			int length = iniString.length();
			revese(iniString,0,length-1);
			return iniString;
		}
		void revese(string &str,int start,int end)
		{
			while(start<end)
			{
				swap(str[start],str[end]);
				start++;
				end--;
			}
		}
};


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: