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

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

时间2025-07-31 13:57:26分类IT科技浏览5215
导读:回文数-力扣 来源:力扣(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迭代器原理(python迭代器是什么) 鱼台属于哪里?(鱼台是属于哪个市)