建设一个完整网站技术路线,环保网页设计素材,免费入口,百度做公司网站❤ leetCode简易2–回文数判断
题目要求判断回文数
给你一个整数 x #xff0c;如果 x 是一个回文整数#xff0c;返回 true #xff1b;否则#xff0c;返回 false
回文数是指正序#xff08;从左向右#xff09;和倒序#xff08;从右向左#xff09;读都是一样的…❤ 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)); //返回字符串100000console.log(a.toString(4)); //返回字符串200
——————————————————————————————————————————————————————————
split()把一个字符串分割成字符串数组
例如 【1】var strHow are you doing today?;var nstr.split( ); // 此处有空格n输出的值How,are,you,doing,today?【2】把空字符串 () 用作 separator那么 stringObject 中的每个字符之间都会被分割var strHow are you doing today?;var nstr.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,cvar v2 a.join(,); // v2的值变为a,b,cvar v3 a.join(); // v3的值变为abdvar v4 a.join(); // v4的值变为abc
--------------------------------------------------------——————————————————————————————————————————————————————————
第二种解法-双指针遍历法
Math.floor()返回小于或等于一个给定数字的最大整数*/
如果我们测试的案例是121
var isPalindrome function(x) {var selx.toString();console.log(sel); //121var nMath.floor(sel.length/2); // 1.5取整数为1 console.log(n); //输出1for(var i0;in;i){ console.log(sel[i]); // 121 的第一个位置下标为o的是1 console.log(sel.length-1-i); // 长度3-1-02 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;
};
最后成功