面试题2之翻转一个给定的字符串

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

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

测试样例:

“This is nowcoder”

返回:”redocwon si sihT”

#include<iostream>
using namespace std;
#include<string>
#include<algorithm>

/*string Reverse(string iniString)
{
	if (iniString.empty())
		return "";
//cout << "hello.."<<endl;
	string::iterator start = iniString.begin();
	string::iterator end = iniString.end()-1;

	while (start < end)
	{
		swap(*start,*end);
		start++;
		end--;
	}
	return iniString;

}*/

//方式二:
string Reverse(string iniString)
{
	if (iniString.empty())
		return "";
	reverse(iniString.begin(),iniString.end());
	return iniString;
}
int main()
{
	string str = "This is nowcoder";
	str = Reverse(str);
	cout << str <<endl;
	return 0;
}

    原文作者:hj605635529
    原文地址: https://blog.csdn.net/hj605635529/article/details/70160900
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞