反转字符串
题目描述:
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
示例1
输入:
"abcd"
返回值:
"dcba"
解释:将一个字符串反转,其实很简单
class Solution {
public:
/**
* 反转字符串
* @param str string字符串
* @return string字符串
使用反转迭代器
string s;
while(cin>>s){
reverse(s.begin(), s.end());
return s;
}
*/
string solve(string str) {
// write code here
//这种做法很简单,直接交换
if(str.size()<=1)
{ return str;}
//定义两个 变量,一个从头向后遍历、一个从后向前遍历
// int i = 0, j = str.size() -1;
// char temp;
// while(i<j)
// {
// // swap(str[i++],str[j--]);
// //或者自己实现交换函数
// temp = str[i];
// str[i++] = str[j];
// str[j--] = temp;
// }
//下面是先取得字符串交换的次数、其实和上面差不多
int len = str.length();
for(int i =0;i<len/2;i++)
{
swap(str[i], str[len-i-1]);
}
return str;
}
};
京公网安备 11010502036488号