反转字符串
题目描述:
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过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; } };