关于前端:算法leetode附思维导图-全部解法300题之9回文数

27次阅读

共计 1385 个字符,预计需要花费 4 分钟才能阅读完成。

零 题目:算法(leetode,附思维导图 + 全副解法)300 题之(9)回文数

一 题目形容


二 解法总览(思维导图)

三 全副解法

1 计划 1

1) 代码:

var isPalindrome = function(x) {
    // 1)x 为正数间接返回 false
    if (x < 0) {return false;}

    // 2)非正数,将 x 转换成字符串、反转,最初看看转换成数值后等不等于之前的数值 x 即可
    return parseInt((x + '').split('').reverse().join('')) === x;
};

2 计划 2

1) 代码:

var isPalindrome = function(x) {
    // 注:tempX 用于遍历
    let tempX = x,
        resX = 0;

    // 1)x 为正数间接返回 false
    if (x < 0) {return false;}

    // 2)非正数,tempX=x,遍历 tempX、求得其“反转后的”值 resX
    while (tempX) {resX = (resX * 10) + (tempX % 10);
        // 边界:别漏了 parseInt,仅保留除后的整数局部即可
        tempX = parseInt(tempX / 10);
    }
    
    // 3)return resX === x
    return resX === x;
}

3 计划 3

1) 代码:

var isPalindrome = function(x) {
    const strX = x + '',
        l = strX.length;

    // 1)x 为正数间接返回 false
    if (x < 0) {return false;}

    // 2)非正数,strX = x + '',遍历 strX、看绝对应的地位上的数值字符是否一样。// 外围:一旦不一样间接返回 false,否则最初返回 true 
    for (let i = 0; i < parseInt(l/2); i++) {if (strX[i] !== strX[(l - 1) - i]) {return false;}
    }

    return true;
}

四 更多

1 刷题进度

1)LeetCode:307 / 2390。2)《剑指 offer》:66 / 66。3)相干学习材料与笔记汇总:https://github.com/CYBYOB/algorithm-leetcode/tree/master/ 材料 %26 笔记。4)注:所有题目均有 2- 5 种 左右的解法,后续还将不断更新题目 & 题解。敬请期待~
也欢送大家进群一起 学习、交换、刷题 & 拿高薪~

2 GitHub – LeetCode 我的项目仓库

0)本我的项目地址:https://github.com/CYBYOB/algorithm-leetcode。指标、愿景:让每个人都能领有肯定的算法能力、以应答面试中(会触类旁通的同学还能够将其融入本人的肌肉和血液,甚至可能赋能于公司的业务和技术)的算法。自己每周仍在一直的更新 —— 保障每周都有新的题目、题解计划刺激着您的神经 和 刷题欲望。欢送对算法感兴趣的同学退出咱们的社群。QQ 群:933919972;作者 QQ:1520112971;作者 VX:c13227839870(可拉您进群、一起学习与交换~)。

3 作者标签

1)“BAT 里 1 名小小的伪全栈工程师,主攻前端,偶然写点后端”。2)2019 年的微信小程序利用开发赛 - 全国三等奖;2019CODA 较量 - 前 17/211 强 且 荣获“优良团队”名称 等。3)“半自媒体人”,在校期间、集体公众号(IT 三少。新自媒体(公众号)号:码农三少)在半年内实现了 0 到 5.8K+ 的粉丝增长等。

正文完
 0