[数学][双指针]leetcode9:回文数(easy)

编程入门 行业动态 更新时间:2024-10-28 14:34:32

[数学][双指针]leetcode9:<a href=https://www.elefans.com/category/jswz/34/1769494.html style=回文数(easy)"/>

[数学][双指针]leetcode9:回文数(easy)

题目:


题解:

  • 思路:反转后半部分数字,不反转整个数字来防止反转后的结果溢出。对于长度为奇数的数字,最后反转后的后半部分数字会比前半部分多一位,因此需要判断 x 与 y/10 是否相等即可;对于长度为偶数的数字,x y 的长度最后会相等,需要判断 x 与 y 是否相等即可。用 x <= y 来表示表示已经处理一半的数字了,因为长度越长,数字值越大。

代码如下:

class Solution {
public:// 反转后面一半的数字:只有前半段数字小于等于后半段数字时,表示前半段的数字比后半段数字少一位或位数相等bool isPalindrome(int x) {// 负数和大于0且末位为0的数字直接排除if(x<0||(x!=0&&x%10==0))return false;int y=0;// y表示后半部分反转后的数字while(x>y){y=y*10+x%10;x/=10;}return x==y/10||x==y;}
};

更多推荐

[数学][双指针]leetcode9:回文数(easy)

本文发布于:2023-07-28 18:53:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1279850.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:回文   指针   数学   easy

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!