leetcode-2–回文数判断

举报
林太白 发表于 2025/11/12 09:37:15 2025/11/12
【摘要】 leetcode-2–回文数判断

leetcode-2–回文数判断

① 题目要求

判断回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

例如,121 是回文,而 123 不是。

② 解法一(翻转字符串法)

题解只有简单的一句

return x.toString()===x.toString().split('').reverse().join('');

理解代码

x.toString()  
x为 123456就是 => 123456  
x.toString().split(‘’) 就是数组 [1,2,3,4,5,6]  
reverse()函数颠倒就是 [6,5,4,3,2,1]  
再用join()函数转化为字符串 就是654321

作用:  
—————————————————————————————————  
toString()方法可以根据所传递的参数把数值转换为对应进制的数字字符串  
例如:var a = 32;  
console.log(a.toString(2)); //返回字符串100000  
console.log(a.toString(4)); //返回字符串200  
——————————————————————————————  
split()把一个字符串分割成字符串数组  
例如 【1var str=“How are you doing today?;  
var n=str.split(" “); // 此处有空格  
n输出的值:How,are,you,doing,today?  
【2】把空字符串 (”“) 用作 separator,那么 stringObject 中的每个字符之间都会被分割  
var str=“How are you doing today?;  
var n=str.split(”");  
n输出的值:H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?  
——————————————————————————  
join() 将数组元素转换为字符串  
例如:【1】 ar fruits = [“Banana”, “Orange”, “Apple”, “Mango”];  
var energy = fruits.join();  
输出的值: Banana,Orange,Apple,Mango

---2】arr.join() // 返回的是⼀个字符串,如果数组为空则返回一个空字符串  
var a = [‘a’, ‘b’, ‘c’];  
var v1 = a.join(); // v1的值变为"a,b,c"  
var v2= a.join(,); // v2的值变为"a,b,c"  
var v3 = a.join(+); // v3的值变为"a+b+d"  
var v4 = a.join(‘’); // v4的值变为"abc"

② 解法二(双指针遍历法)

Math.floor()

返回小于或等于一个给定数字的最大整数

*/
如果我们测试的案例是121 
var isPalindrome = function(x) {
     var sel=x.toString();
     console.log(sel); //121
    var n=Math.floor(sel.length/2); // 1.5取整数为1 
     console.log(n); //输出1
    for(var i=0;i<n;i++){ 
        console.log(sel[i]);  // 121 的第一个位置下标为o的是1 
        console.log(sel.length-1-i);  // 长度3-1-0=2  i为0小于n为1时候,所以此处i为0 
        console.log(sel[sel.length-1-i]);  // 1 //sel[2]=1  // 0,1,2 //第三位为1   
       if(sel[i]!=sel[sel.length-1-i]) return false;
    }return true;
};

最后成功!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。