当前位置: 首页 > news >正文

LeetCode题解:9. 回文数,翻转一半数字,JavaScript,详细注释

原题链接

9. 回文数

解题思路

  1. 翻转数字
    • 利用循环,每次将x右移一位
    • 将移出的数字存储到reversed的个位中
    • 每次存储前,需要将reversed左移一位
  2. 判断结果
    • 当原x的长度为偶数,翻转后的结果相等
    • 当原x的长度为奇数,reversed一定比翻转后的x多一位,需要将其向右移动一位后再对比
  3. 处理特殊情况
    • x为负数,不是回文数
    • 除了0以外的,最后一位为0的数字,必然不是回文数

示例代码

/*** @param {number} x* @return {boolean}*/
var isPalindrome = function(x) {// x为负数,不是回文数if (x < 0) {return false}// 除了0以外的,最后一位为0的数字,必然不是回文数// 如果数字最后一位是0,必然是10的倍数,取余后为0if (x % 10 === 0 && x !== 0) {return false}// 存储反转后的数字let reversed = 0// 翻转x,直到x>reversed,表示翻转结束while (x > reversed) {// 每次翻转时,将reversed*10,表示向左移动一位// 再将x的个位数,填充到reversed的个位reversed = reversed * 10 + (x % 10)// x/10,表示x向右移动一位,并保留整数x = Math.floor(x / 10)}// 翻转后有两种可能性// 1. 当原x的长度为偶数,翻转后的结果相等// 2. 当原x的长度为奇数,reversed一定比翻转后的x多一位,需要将其向右移动一位后再对比return x === reversed || Math.floor(reversed / 10) === x
};
http://www.lryc.cn/news/350967.html

相关文章:

  • 微博:一季度运营利润9.11亿元,经营效率持续提升
  • Mysql总结1
  • three.js能实现啥效果?看过来,这里都是它的菜(05)
  • innerText和innerHTML的区别
  • O2OA(翱途)开发平台数据统计如何配置?
  • 网关过滤器使用及其原理分析
  • jiebaNET中文分词器
  • springboot3项目练习详细步骤(第四部分:文件上传、登录优化、多环境开发)
  • 视觉里程计的融合方法及优缺点分析
  • SQL常用基础语句(一)-- FGHIJ开头
  • 大语言模型量化方法对比:GPTQ、GGUF、AWQ 包括显存和速度
  • 实现本地访问云主机,以及在云主机搭建FTP站点
  • 存储+调优:存储-Cloud
  • 海山数据库(He3DB)线程池方案详解
  • K8s 高级调度
  • 数据猿携手IDC Directions 2024:探索中国ICT市场新趋势
  • 前端开发工程师——ajax
  • uni-app项目在微信开发者工具打开时报错[ app.json 文件内容错误] app.json: 在项目根目录未找到 app.json
  • 最大连续1的个数(滑动窗口)
  • Spring Cloud 框架的应用详解
  • C语言 数组——向函数传递数组
  • 数据链路层简单介绍
  • 【软考】设计模式之装饰器模式
  • 网络编程day6
  • 5.23总结
  • SQL Server基础学习笔记
  • 用Vuex存储可配置下载的ip地址(用XML进行ajax请求配置文件)
  • Spring: OncePerRequestFilter
  • 《Python编程从入门到实践》day37
  • GBDT、XGBoost、LightGBM算法详解