LeetCode 9:回文数

迈不过友情╰ 2022-05-28 04:41 300阅读 0赞

判断一个整数是否是回文数,不能使用辅助空间。

说明:回文数是正着读反着读都一样的数字。

思路1:分离出原数的每一位数字,保存在新的数组中,判断数组是否对称。But,不可行!原题目说明不能使用辅助空间,而且这种算法非常不高效。

思路2:定义一个新的整数mul=0,做循环,每次都分离出原数的个位数,将分离出来的数重新组合成新数存在mul中,循环结束后,比较mul和原数是否相等。可行!

  1. class Solution {
  2. public:
  3. bool isPalindrome(int x) {
  4. int cp=x,mul=0;
  5. if(x<0) return false;
  6. while(cp!=0){
  7. mul=mul*10+cp%10;
  8. cp=cp/10;
  9. }
  10. return x==mul;
  11. }
  12. };

发表评论

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

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

相关阅读

    相关 LeetCode 9

    判断一个整数是否是回文数,不能使用辅助空间。 说明:回文数是正着读反着读都一样的数字。 思路1:分离出原数的每一位数字,保存在新的数组中,判断数组是否对称。But,不

    相关 [leetcode]9.

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 我最开始的解法,把数字转换成字符串,然后比较头尾,时间空间复杂度还过得去。当然反转方

    相关 LeetCode 9

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

    相关 LeetCode9 :

    回文数 题目描述 判断一个整数是否是回文数。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例子 <table> <thead>