刷题笔记目录
前言
基础知识基本学习完了,现在开始专攻算法题,每天都从牛客、力扣、领扣都刷几道算法题,当然啦是从入门的开始咯!一、力扣第九题:回文数
题目要求:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
其实这道题在做的时候,还是挺有思路的,先将字符串转为数组,切割后在进行拼接
代码如下:
let isPalindrome = function (x) {
let str = x;
//先将整数x转为字符串,根据空格字符进行切割,反转数组后进行字符串的拼接
let newStr = x.toString().split("").reverse().join('');
// 进行判断,如果反转后的整数与之前的相同则返回true
if (newStr == str) {
return true;
} else {
return false;
}
// return newStr == str ? true : false//三元运算符
};
二、第七题整数回转
这两道题思路都差不多,只不过这道题需要转化为数值型
let reverse = function(x) {
let arr = []; //一个数组
let nums = x.toString(); //将x转换为一个字符串
arr = parseInt(nums.split("").reverse().join(""));//将反转后的数组转化为数值型
// 如果x是负数的话,对数组进行取反
if(x < 0 ){
arr = -arr;
}
//如果反转后的数组超过有符号位的32位则返回0
return arr > 2147483647 || arr < -2147483648 ? 0 : arr;
};
总结
继续加油!