首页IT科技回文数算式(回文数-力扣)

回文数算式(回文数-力扣)

时间2025-06-21 02:32:57分类IT科技浏览4496
导读:回文数-力扣 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/palindrome-number 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

回文数-力扣

来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/palindrome-number 著作权归领扣网络所有            。商业转载请联系官方授权           ,非商业转载请注明出处                 。

题目描述

给你一个整数 x                  ,如果 x 是一个回文整数      ,返回 true ;否则         ,返回 false      。

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数         。

例如                 ,121 是回文         ,而 123 不是                  。

思路

首先应确定      ,负数必定不是回文数        。 任何一个以0结尾的数(不包括0)必定不是回文数                 ,例10            ,110   ,30      。 其次                 ,如果该数(x)数字位数为奇数               ,那么该数处于最中间位数的数无需进行判断 x若对10取余,则可以求出最后一位数              ,x除以10                  ,则可以去掉最后一位数   ,如此循环           ,则可以将每个数求出                  。 那么我们的思路就显而易见了                 ,先设置负数与以0结尾的数返回值为false      ,接着对其他的数进行判断         ,设置一个中间量temp                 ,对x进行取余操作的结果进行接收         ,后续的接收便是temp*10再加上x/10再取余的结果           。对上述操作进行循环直至x<=temp即可   。 这里需要强调的是      ,由于x一直在进行x/10操作                 ,而temp一直在接收x去掉的数            ,所以循环结束后应注意对x数字个数分情况判断                  。若x位偶数则直接判断是否相等即可   ,x为奇数则应对中间量temp进行除以十的操作                 ,以去掉中间的那个数               ,再进行判断

代码

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

提交截图

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
学校爬围墙有什么后果(学校围墙攀爬识别检测预警 python)