精华内容
下载资源
问答
  • 判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- ...

    题目描述

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

    示例 1:

    输入: 121
    输出: true
    

    示例 2:

    输入: -121
    输出: false
    

    解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

    代码

    package leetcode;
    
    class Solution {
        public boolean isPalindrome(int x) {
            // 负数和10的倍数不可能存在回文数
            if(x<0 || (x%10==0 && x!=0)){
                return false;
            }
    
            int reverteNumber = 0; //记录回文数
            // 反转原来的数,做记录
            while(x > reverteNumber){
                reverteNumber = reverteNumber * 10 + x % 10;
                x /= 10;
            }
            // 判断反转之后的数是否与原来的数相等
            boolean ret = (x == reverteNumber || x == reverteNumber/10);
            return ret;
        }
    
    }
    
    // 测试
    public class Test {
        public static void main(String[] args) {
            Solution solution = new Solution();
            int x = 121;
            System.out.println(solution.isPalindrome(x));
        }
    }
    

    通过 leetcode的测试用例:
    在这里插入图片描述

    展开全文
  • 判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数,如果是回文数则输出YES,否则输 python def main(s): s = str(s) if s == s[::-1]: print('YES') else: print('NO'...

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数,如果是回文数则输出YES,否则输出NO
    题目内容:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数,如果是回文数则输出YES,否则输出NO。
    输入:一个整数
    输出:YES或NO
    输入样例:12321
    输出样例:YES

    python
    def main(s):
    	s = str(s)
        if s == s[::-1]:
            print('YES')
        else:
            print('NO')
    if __name__ == '__main__':
        main(input('请输入一个整数:'))
    
    展开全文
  • 要求:判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 具体代码如下: public class Test1_19 { public static boolean isPalindrome(int x) { String str = ...

    要求:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    具体代码如下:

    public class Test1_19 {
        public  static boolean isPalindrome(int x) {
            String str = String.valueOf(x);
            char[] arr = str.toCharArray();
            int count = 0;
            int left = 0;
            int right = arr.length-1;
            for (int i = 0; i < arr.length; i++) {
                if(arr[left] == arr[right]) {
                    left++;
                    right--;
                    count++;
                }
            }
            return (count == arr.length);
        }
    
        public static void main(String[] args) {
            int x = 10;
            if(isPalindrome(x) == true)
                System.out.println(x + "是回文数");
            else
                System.out.println(x + "不是回文数");
            int a = 121;
            if(isPalindrome(a) == true)
                System.out.println(a + "是回文数");
            else
                System.out.println(a + "不是回文数");
        }
    }

    运行结果实例:

    展开全文
  • 主要介绍了Python实现判断一个整数是否回文数算法,结合实例形式分析了Python针对字符串的翻转、判断等相关操作技巧,需要的朋友可以参考下
  • 回文数(或迴文)是指一个像14641这样“对称”的,即:将这...要判断一个整数是否回文数,最自然的想法是把整数转换成一个字符串,然后根据回文的对称特性进行判断。数字转换为字符串可以通过itoa函数实现,判断...
    回文数(或迴文數)是指一个像14641这样“对称”的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。
    判定一个正整数是否是一个回文数。例如12121是回文数,而1231不是回文数。
     
    解法1:转换成字符串再判断
    要判断一个整数是否是回文数,最自然的想法是把整数转换成一个字符串,然后根据回文的对称特性进行判断。数字转换为字符串可以通过itoa函数实现,判断字符串是否为回文字符串代码如下:
    bool isPalindrome(string &str)
    {
        int begin = 0, end = str.length()-1;
        while (begin < end) {
            if (str[begin] == str[end]) {
                begin++;
                end--;
            } else {
                return false;
            }
        }
        return true;
    }
    

      

    解法2:数字翻转法
    因为是整数,所以可以求出该整数的翻转后的数值,看是否与原来整数相等。如果相等,则是回文数,否则不是。翻转整数代码如下,返回值为翻转后的整数。如12321翻转后为12321,所以是回文数;而1231翻转后为1321,与1231不相等,所以不是回文数。
    int reverse(int num) 
    {
      assert(num >= 0); 
      int rev = 0;
      while (num != 0) {
        rev = rev * 10 + num % 10;
        num /= 10;
      }
      return rev;
    }
    

      

    但是这里有个潜在的问题就是翻转后的整数可能会溢出,当然我们可以用long long之类的类型来保存翻转结果。但是这个解法总的来看并不完美,我们需要找一个更通用的解法。
     
    解法3:数字位判断法
    我们可以找到一个更通用的解法,那就是先比较整数的第1位和最后1位是否相等,如果不等,则直接返回false;若相等,则接下去判断剩下的位置,如同回文字符串判断的过程一样。代码如下:
    bool isPalindrome(int x) 
    {
      if (x < 0) return false;
      int div = 1;
      while (x / div >= 10) {
        div *= 10;
      }
      while (x != 0) {
        int l = x / div;  
        int r = x % 10;
        if (l != r) return false;
        x = (x % div) / 10;
        div /= 100;
      }
      return true;
    }
    如整数为121,则div初始会设为100,因此l=21/100=1是整数的第1位,而r=121%10=1是最后1位。这两位相等,则继续循环,设置x为第2为2,此时div除以100变成1,之所以div除以100是因为每次比较了两个位。

    转载于:https://www.cnblogs.com/Lolita-web/p/10457184.html

    展开全文
  • 背景:判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 老规矩献上代码: 方法一: def Solution(x): #将int转化为str,将str反转后,再转化为int。判断反转前和...
  • 判断一个整数是否回文数

    千次阅读 2018-09-17 16:27:02
    判断一个整数是否回文数。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整 数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读,...
  • python判断一个整数是否回文数

    千次阅读 2018-08-14 17:03:08
    判断一个整数是否回文数(整数不含前导零) 思路:将整数翻转后判断是否与原整数相等  简单的翻转方法用到切片(Slice),将整数强制转换为字符串,用切片[ : : -1] 翻转后比较 代码: # -*- coding: UTF-8 -*...
  • 判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121...
  • 1.判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- ...
  • 判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121,输出: true 示例2: 输入: -121,输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 ...
  • Leetcode(1) ## 判断一个整数是否回文数。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 解题思路: 1、首先,根据输入数值的符号进行判断,如果为负数,则直接返回false,反之,继续下一步;...
  • 判断一个整数是否回文数 具体定义不多介绍; /* * 肯定不是回文的负数直接输出false * 考虑到程序的运行效率以及额外存储空间和溢出等情况,所以采用首尾数字进行比较,即二分查找; * 首先想到int-->...
  • //问题描述:判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 // 示例 1: // 输入: 121 //输出: true // 输入: -121 //输出: false //解释: 从左向右读, 为 -121 。 从...
  • 判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 ...
  • 题目要求是:给定一个整数判断是否回文数。所谓回文就是正过来读和倒过来读都一样,例如12321是回文,1221也是回文。 另外,这个题目还有个很奇怪的要求:不能使用额外空间。个人理解这里的“额外空间”...
  • 判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。...
  • 1、判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 方法一:字符串切片 方法二:数字全部反转,不考虑反转后整数溢出问题(python中整型不会溢出) 方法...
  • LeetCode 第9题: 判断一个整数是否回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。解题思路:直接转变成字符串s,反转s得到s1,判断是否相等; * 测试用例 0 ,121, -121, 进阶: 你...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,089
精华内容 7,235
关键字:

判断一个整数是否是回文数