方法一 通过API反转
/**
* 反转字符串
* @param str string字符串
* @return string字符串
*/
function solve( str ) {
// 先把字符串拆成数组
// 反转数组
// 再把数组合成字符串
return str.split("").reverse().join("");
}
module.exports = {
solve : solve
}; 方法二 构造新字符串
/**
* 反转字符串
* @param str string字符串
* @return string字符串
*/
function solve( str ) {
// 获得字符串长度
let length = str.length;
// 构造新的字符串
let newStr = "";
// 从字符串后面读取字符串每一个字符
for( let i=length-1;i>=0;i-- ){
// 把遍历得到的字符串塞到新字符串中
newStr += str[i];
}
// 返回字符串
return newStr;
}
module.exports = {
solve : solve
}; 方法三 双指针
class Solution {
public:
/**
* 反转字符串
* @param str string字符串
* @return string字符串
*/
string solve(string str) {
// 获得字符串长度
int len = str.length();
// 左指针为0,右指针为最后一个字符的索引
int left=0, right=len-1;
while( left<right ){
// 左边和右边的值进行交换
// 左指针自增、右指针自减
str[left] += str[right];
str[right] = str[left] - str[right];
str[left++] -= str[right--];
}
return str;
}
}; 
京公网安备 11010502036488号