知识点:
双指针:双指针。
三种解法:
解法一:定义一个新的字符串,倒序赋值。
解法二:原字符串,交换对应字符。
解法三:直接调用库函数reverse()。
#include <algorithm>
// 解法一:定义一个新的字符串,倒序赋值。
// class Solution {
// public:
// /**
// * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
// *
// * 反转字符串
// * @param str string字符串
// * @return string字符串
// */
// string solve(string str) {
// // write code here
// string ans = str;
// int len = str.length();
// for (int i = 0; i < len; i++) {
// ans[i] = str[len - 1 - i];
// }
// return ans;
// }
// };
// 解法二:原字符串,交换对应字符
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 反转字符串
* @param str string字符串
* @return string字符串
*/
string solve(string str) {
// write code here
int len = str.length();
for (int i = 0; i < len / 2; i++) {
swap(str[i], str[len - 1 - i]);
}
return str;
}
};
// 解法三:直接调用库函数reverse()
// class Solution {
// public:
// /**
// * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
// *
// * 反转字符串
// * @param str string字符串
// * @return string字符串
// */
// string solve(string str) {
// // write code here
// reverse(str.begin(), str.end());
// return str;
// }
// };



京公网安备 11010502036488号