LeetCode问题9

缺乏、安全感 2021-12-20 04:29 145阅读 0赞

Palindrome Number

问题描述如下:

Determine whether an integer is a palindrome. Do this without extra space.

关键在不占用额外的空间的情况下生成它的回文序列,然后作差即可。

如果相等,说明回文,如果不相等说明不是回文。

注意点:1、负数不是回文序列;2、在生成整数的回文如果计算过程溢出,当然不是回文(回文序列与自己相同当然是不会溢出的)。

问题难度Easy,代码如下:

  1. class Solution {
  2. public:
  3. bool isPalindrome(int x) {
  4. if(x==INT_MAX||x==INT_MIN)
  5. return false;
  6. else if(x<0)
  7. return false;
  8. int xsave=x;
  9. int px=0;
  10. while(x!=0)
  11. {
  12. if(px<INT_MAX/10)
  13. {
  14. px=px*10+x%10;
  15. x/=10;
  16. }
  17. else
  18. return false;
  19. }
  20. if(px==xsave)
  21. return true;
  22. else
  23. return false;
  24. }
  25. };

时间消耗仅仅超过30%的提交者。

转载于:https://www.cnblogs.com/Einsler/p/7608845.html

发表评论

表情:
评论列表 (有 0 条评论,145人围观)

还没有评论,来说两句吧...

相关阅读

    相关 leetcode9

    回文数(判断一个数是否为回文数) 总结:我的思想其实就是把每一位都取出来组成数组 然后第一位和最后一位比较 得出结果 //begin 用于判断while循环是否

    相关 leetcode9

    Palindrome Number 回文数,并且题目要求不能使用额外的空间。 即,不能使用回文串的方法。 虽然这样,这道题依然不是很难,即对每个数字,从个位起不断乘10,

    相关 二刷 leetcode9

    21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3-

    相关 LeetCode 9

    问题描述: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: