博客
关于我
leetcode做题记录0009
阅读量:352 次
发布时间:2019-03-04

本文共 1095 字,大约阅读时间需要 3 分钟。

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

判断一个整数是否为回文数,主要的思路是将该整数分解为各个位上的数字,并从左到右和从右到左进行比较。

分解数字

首先,将整数分解为各个位上的数字。可以使用取模和整除的方法,依次得到个位、十位、百位等数字,存储在一个数组中。

使用两个游标

创建两个游标,一个从数组的开头开始遍历,另一个从数组的末尾开始遍历。比较这两个位置上的数字,如果有任何一对数字不相等,则返回false。如果所有数字都相等,则返回true。

处理边界情况

  • 负数直接返回false。
  • 单个数字(0到9)直接返回true。

代码实现

Solution{    public static boolean isPalindrome(int x)    {        if (x < 0)        {            return false;        }        if (x >= 0 && x < 10)        {            return true;        }        int[] num = new int[10];        for (int i = 0; i < 10; ++i)        {            num[i] = -1;        }        int idx = 0;        while (true)        {            num[idx++] = x % 10;            x /= 10;            if (x == 0)            {                break;            }        }        for (int i = 0, j = idx - 1; i <= j; ++i, --j)        {            if (num[i] != num[j])            {                return false;            }        }        return true;    }}

代码解释

  • 检查负数:如果输入为负数,直接返回false。
  • 单数字处理:如果输入在0到9之间,直接返回true。
  • 分解数字:使用while循环,依次取出数字的个位、十位等,并存储在数组num中。
  • 比较数字:使用两个游标,从数组的两端开始比较数字。如果有任何一位不匹配,返回false。
  • 返回结果:如果所有数字都匹配,返回true。
  • 转载地址:http://brhe.baihongyu.com/

    你可能感兴趣的文章
    Passport 密码模式
    查看>>
    Spring Boot(七十六):集成Redisson实现布隆过滤器(Bloom Filter)
    查看>>
    passport 简易搭配
    查看>>
    passwd命令限制用户密码到期时间
    查看>>
    Spring Boot 动态加载jar包,动态配置太强了!
    查看>>
    Spring @Async执行异步方法的简单使用
    查看>>
    PAT (Basic Level) Practice 乙级1021-1030
    查看>>
    PAT (Basic Level) Practice 乙级1031-1040
    查看>>
    PAT (Basic Level) Practice 乙级1041-1045
    查看>>
    SparkSql的元数据
    查看>>
    PAT (Basic Level) Practice 乙级1051-1055
    查看>>
    PAT (Basic Level) Practise - 写出这个数
    查看>>
    PAT 1027 Colors in Mars
    查看>>
    PAT 1127 ZigZagging on a Tree[难]
    查看>>
    PAT 2-07. 素因子分解(20)
    查看>>
    PAT A1033 重点题
    查看>>
    SparkSQL学习03-数据读取与存储
    查看>>
    PAT L2-012. 关于堆的判断
    查看>>
    PAT Spell It Right [非常简单]
    查看>>
    PAT-1044. Shopping in Mars (25)
    查看>>