图片说明
图片说明
图片说明
图片说明
图片说明
图片说明
图片说明
图片说明

方法一 通过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;
    }
};