freeCodeCamp程序员Web前端之路

FreeCodeCamp 初级算法题 - 翻转字符串

2017-03-18  本文已影响43人  S1ngS1ng

原文链接:http://singsing.io/blog/2017/03/17/fcc-basic-reverse-a-string/

翻转字符串 (Reverse a String)

题目链接

问题解释

参考链接

思路提示

  1. 先把字符串分割成为数组
  2. 翻转数组
  3. 把翻转后的数组合并为字符串

参考答案

基本答案

function reverseString(str) {
    var strArr = str.split('');
    var reversedArr = strArr.reverse();
    return reversedArr.join('');
}

解释

优化

function reverseString(str) {
    return str.split('').reverse().join('');
}

解释

中级解法

function reverseString(str) {
    var result = "";
    for (var i = str.length - 1; i >= 0; i--) {
        result += str[i];
    }
    return newString;
}

解释

高级解法

function reverseString(str) {
    // 设置递归终点(弹出条件)
    if (!str) {
        return "";
    }
    else {
        // 递归调用
        return reverseString(str.substr(1)) + str.charAt(0);
    }
}

解释

举个例子:

var str = "abc";

reverseString(str)

至此,我们得到了最终结果,"cba"

上一篇下一篇

猜你喜欢

热点阅读