美文网首页
LeetCode|9. 回文数

LeetCode|9. 回文数

作者: 九里 | 来源:发表于2022-09-13 11:33 被阅读0次

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

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

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

    示例 1:

    输入:x = 121
    输出:true
    示例 2:

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

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

    提示:

    -231 <= x <= 231 - 1

    解题思路

    一、转换字符串方法

    class Solution {
        public boolean isPalindrome(int x) {
            if(x==0) return true;
             if(x<0||x%10==0){
                return false;
            }
    
            char[] s=Integer.toString(x).toCharArray();
            boolean result=false;
            for(int i=0;i<s.length/2;i++){
                if(s[i]==s[s.length-i-1]){
                    result=true;
                }else{
                    result=false;
                    break;
                }
            }
            return result;
        }
    }
    

    二、数字计算法

    class Solution {
        public boolean isPalindrome(int x) {
            if(x==0) return true;
             if(x<0||x%10==0){
                return false;
            }
            int temp=x;
            int reversed=0;
            while(x>0){
                reversed=reversed*10+x%10;
                x=x/10;
            }
            return reversed==temp;
        }
    }
    

    相关文章

      网友评论

          本文标题:LeetCode|9. 回文数

          本文链接:https://www.haomeiwen.com/subject/uithortx.html