前端算法-回文数

简介: 前端算法-回文数

题目

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false ,回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而 123 不是。

输入: x = -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

题解

我们先声明一个arr变量,并将出参x通过通过toString方法转换为字符串,在通过split方法转换为数组,转换为数组之后使用reverse方法将其反转后赋值给arr变量,然后在声明一个res变量,他的值是一个空的数组,我们对arr变量使用循环,在循环中使用数组的push方法,将arr变量当前循环中的值添加到str数组中,然后在声明一个num变量,默认值是数字0,然后使用if语句进行判断,当前res数组中的第一个数值是不是-号或者当前res数组中的第一个数值是不是等于0如果其中一项是则直接返回false,如果不是则进入else语句,在else语句中,我们使用循环进行循环res数组,循环条件是倒着从res获取数据下标,当下标小于0或者等于0则停止循环,在循环中我们也进行判断,这里对当前arr数组结合当前res循环的下标,进行判断等不等于res数组结合num变量获取到的值,如果不等于则直接返回false,如果等于则num变量自增1,其实在循环中这里做的就是将arr数组的倒序值和res数组的正序值进行比较,当循环结束后,如果没有返回false的情况则直接返回true

/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
   let arr=x.toString().split('').reverse()
    let res= []
   for(let k=0;k<arr.length;k++){
           res.push(arr[k])
   }
   let num=0
   if(res[0]==='-'||res[0]===0){
       return false
   }else{
        for(let i=res.length-1;i>=0;i--){
           if(arr[i]!==res[num]){
               return false
           }
            num++
       }
   }
   return true
}

坚持努力,无惧未来!

相关文章
|
7天前
|
移动开发 算法 前端开发
前端算法之堆排序
前端算法之堆排序
13 1
|
7天前
|
算法 前端开发
前端算法之快速排序
前端算法之快速排序
12 0
|
7天前
|
算法 前端开发 搜索推荐
前端算法之归并排序
前端算法之归并排序
11 0
|
7天前
|
算法 前端开发
前端算法之基数排序
前端算法之基数排序
9 1
|
7天前
|
算法 前端开发 搜索推荐
前端算法之桶排序
前端算法之桶排序
6 1
|
7天前
|
存储 算法 前端开发
前端算法之计数排序
前端算法之计数排序
10 1
|
7天前
|
算法 前端开发 搜索推荐
前端算法之希尔排序
前端算法之希尔排序
4 0
|
3天前
|
算法 数据安全/隐私保护 计算机视觉
基于二维CS-SCHT变换和LABS方法的水印嵌入和提取算法matlab仿真
该内容包括一个算法的运行展示和详细步骤,使用了MATLAB2022a。算法涉及水印嵌入和提取,利用LAB色彩空间可能用于隐藏水印。水印通过二维CS-SCHT变换、低频系数处理和特定解码策略来提取。代码段展示了水印置乱、图像处理(如噪声、旋转、剪切等攻击)以及水印的逆置乱和提取过程。最后,计算并保存了比特率,用于评估水印的稳健性。
|
4天前
|
存储 算法 数据可视化
基于harris角点和RANSAC算法的图像拼接matlab仿真
本文介绍了使用MATLAB2022a进行图像拼接的流程,涉及Harris角点检测和RANSAC算法。Harris角点检测寻找图像中局部曲率变化显著的点,RANSAC则用于排除噪声和异常点,找到最佳匹配。核心程序包括自定义的Harris角点计算函数,RANSAC参数设置,以及匹配点的可视化和仿射变换矩阵计算,最终生成全景图像。
|
4天前
|
算法 Serverless
m基于遗传优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真
MATLAB 2022a仿真实现了遗传优化的归一化最小和(NMS)译码算法,应用于低密度奇偶校验(LDPC)码。结果显示了遗传优化的迭代过程和误码率对比。遗传算法通过选择、交叉和变异操作寻找最佳归一化因子,以提升NMS译码性能。核心程序包括迭代优化、目标函数计算及性能绘图。最终,展示了SNR与误码率的关系,并保存了关键数据。
13 1