• LeetCode第9题:回文数


    生命无罪,健康万岁,我是laity。

    我曾七次鄙视自己的灵魂:

    第一次,当它本可进取时,却故作谦卑;

    第二次,当它在空虚时,用爱欲来填充;

    第三次,在困难和容易之间,它选择了容易;

    第四次,它犯了错,却借由别人也会犯错来宽慰自己;

    第五次,它自由软弱,却把它认为是生命的坚韧;

    第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;

    第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。

    LeetCode第9题:回文数

    题目

    给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。

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

    • 例如,121 是回文,而 123 不是。

    示例1:

    输入:x = 121
    输出:true

    示例 2:

    输入:x = -121
    输出:false
    解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

    示例3:

    输入:x = 10
    输出:false
    解释:从右向左读, 为 01 。因此它不是一个回文数。

    分析:除特殊情况外,我们要理解什么是回文数,即正序(从左向右)和倒序(从右向左)读都是一样的整数。

    解题

    时间复杂度: O(n)

    class Solution {
        public boolean isPalindrome(int x) {
            String per = x + "";
            StringBuilder res = new StringBuilder();
            String s = per.substring(0, 1);
            if (s.equals("-")) {
                // 说明是负数
                return false;
            }
            for (int i = per.length() - 1; i >= 0; i--) {
                res.append(per.charAt(i));
            }
            try {
                return x == Integer.parseInt(String.valueOf(res));
            } catch (NumberFormatException e) {
                return false;
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    全代码

    /**
     * @author: Laity
     * @Project: JavaLaity
     * @Package: LeetCode.t9.isPalindrome
     * @Date: 2022年11月11日 18:03
     * @Description: LeetCode第9题:回文数
     */
    public class IsPalindrome {
    
        public static boolean isPalindrome(int x) {
            String per = x + "";
            StringBuilder res = new StringBuilder();
            String s = per.substring(0, 1);
            if (s.equals("-")) {
                // 说明是负数
                return false;
            }
            for (int i = per.length() - 1; i >= 0; i--) {
                res.append(per.charAt(i));
            }
            try {
                return x == Integer.parseInt(String.valueOf(res));
            } catch (NumberFormatException e) {
                return false;
            }
        }
    
        public static void main(String[] args) {
            int x = 110;
            System.out.println(isPalindrome(x));
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    任何事情都不会一蹴而就,每一小步都很重要,想要完成一件事就需要保持耐心。我是Laity,正在前行的Laity。

  • 相关阅读:
    STM32-Project17-18:NVIC中断应用概述;EXTI外部中断控制实验;
    项目质量管理
    【面试题】如何去掉vue的url地址中的#号?及其原理?
    基于SSM红色教育系统的设计与实现毕业设计源码211757
    【单片机毕业设计】【mcuclub-jj-004】基于单片机的楼道节能灯的设计
    自动控制原理9.3---线性定常系统的反馈结构及状态观测器
    1.2 极限的性质【极限】
    springboot集成netty实现websocket
    跳槽!阿里工作100+天,菜鸡职业生涯的一点记录
    蓝桥杯 (饮料换购,C++)
  • 原文地址:https://blog.csdn.net/duyun0/article/details/127817358