Leetcode 9:回文数(Java)

题目描述:

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

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

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

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

示例 2:   输入:x = -121
                 输出:false

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/palindrome-number

解题思路:

1.先将整数x转换成字符串s1;

2.将字符串s1翻转为字符串s2;

3.比较字符串s1和s2是否相同。

valueOf(int i): 返回 int 参数的字符串表示形式。
valueOf(char c): 返回 char 参数的字符串表示形式。
valueOf(char[] s): 返回 char 数组的字符串表示形式。
toCharArray() :将此字符串转换为一个新的字符数组。

代码如下:

public class title09 {
    public static void main(String[] args) {
        boolean b=isPalindrome(123);
        System.out.println(b);

    }

    static boolean isPalindrome(int x){
        String s1= valueOf(x);     //将整数x转成字符串
        char []s=s1.toCharArray();
        char temp;
        //翻转字符串
        for(int i=0;i<(s.length/2);i++){
            temp=s[i];
            s[i]=s[s.length-i-1];
            s[s.length-i-1]=temp;
        }
        String s2=valueOf(s);
        return s1.equals(s2);
    }

}

你可能感兴趣的:(Leetcode,leetcode,算法,职场和发展)