• LeetCode 9. Palindrome Number(回文数)



    Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

    Example 1:

    Input: 121
    Output: true

    Example 2:

    Input: -121
    Output: false
    Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.

    Example 3:

    Input: 10
    Output: false
    Explanation: Reads 01 from right to left. Therefore it is not a palindrome.

    Follow up:

    Coud you solve it without converting the integer to a string?

    public boolean isPalindrome(int x) {
        int[] nums=new int[32];
        int i=0;
        if(x<0)//负数或   最后一位为0(后半句不严谨,单独0是对称的)
            return false;
        while(x/10>0){
            nums[i]=x%10;
            i++;
            x=x/10;
        }
        nums[i]=x%10;
        int len=0;
        for(i=31;i>=0;i--){
            if(nums[i]>0){
                len=i;//数字位数
                break;
            }
        }
        for(i=0;i<=len/2;i++){
            if(nums[i]!=nums[len-i])
                return false;
        }
        return true;
    }
    

     

    博客园的编辑器没有CSDN的编辑器高大上啊
  • 相关阅读:
    Alpha发布——美工+文案展示博客
    021_func
    020_with
    018_IO
    017_set
    016_dict
    015_string
    012_list
    010_ternaryOperation
    008_standard_lib_os
  • 原文地址:https://www.cnblogs.com/flowingfog/p/9774626.html
Copyright © 2020-2023  润新知