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

9.回文数

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

原先的思路:
把整数x转换成字符串,然后从i=n遍历再转换成整数看是否相等,但是有一点,万一转换后的整数超出最大int.Max,则会溢出。

先贴代码:

class Solution {
public:bool isPalindrome(int x) {if (x < 0 || (x % 10 == 0 && x != 0)) {return false;}int revertedNumber = 0;while (x > revertedNumber) {revertedNumber = revertedNumber * 10 + x % 10;x /= 10;}return x == revertedNumber || x == revertedNumber / 10;}
};

下面来根据需求解释代码
首先要排除一些不符合回文数定义要求的数,第一个就是负数,例如-192,不可能有291-这样的数字;第二个就是以0结尾的数,不可能会有除了0本身之外0为开头的数字。所以满足这些条件的数字返回false。
根据力扣官方的妙思,反转数字后半段看是否能和前半段的数字相等。通过举一些例子能看出,如果后半段大于前半段的时候,就代表已经转换一半了。如果长度为偶数的数字,xr,就代表是回文数;若是长度为奇数,xr/10,就代表是回文数。
感觉这次就是利用各种各样的取模、相乘、除法来摸清楚规则。

http://www.kefakeji.com/news/1006.html

相关文章:

  • Linux 核心目录说明
  • PCIe扫盲——Ack Nak 机制详解(一)
  • OI 数学定理(提高级)
  • BSC系统合约详解 - 若
  • 机器学习,深度学习,神经网络三者的联系和区别
  • 软考系统分析师每日学习卡 | [日期:2025-07-21] | [今日主题:成本效益分析]
  • B2007 A + B 问题
  • 虚拟内存(交换分区)
  • 【langchain】检索
  • win11无法自动休眠
  • RocketMq集群docker部署(2主2从+Dashboard)
  • 带团队后的日常思考(十七)
  • k8s里的taints 和 tolerations
  • 【 IEEE出版】第五届先进算法与神经网络国际学术会议(AANN 2025)
  • 统信 UOS 安装 svn 指南
  • 【IEEE出版】2025年能源技术与电气工程国际学术会议(ETEE 2025)
  • 近期理工类学术会议推荐|电气工程、制造系统、航天技术、人工智能、 数字经济、现金算法等EI会议合集
  • CAXA电子图板2025下载安装详细步骤快速开启电子设计
  • 【权威指南】外发文件加密传输怎么做?3分钟搞定传输安全难题
  • 斜率优化dp
  • 跨平台自动化框架的OCR点击操作实现详解与思考
  • 题解:UVA12172 Matchsticks
  • Linux文件管理mv命令 – 移动或改名文件
  • 配置Annaconda
  • 面向文本处理工具的用户权限隔离体系构建
  • E. Air Conditioners
  • 【圆方树】学习笔记
  • 百度地图插件在浏览器不显示
  • java 启动参数优化
  • 超声波数值模拟与声场传播的MATLAB实现