leetcode 6.Plaindrome Number 判断是否为回文数字

    xiaoxiao2023-09-28  149

     题目(英文版):

    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.

    题目(中文版):

    判断是否为回文数字。

    比如12321从左边读和从右边读数字都是相同的。


    解题思路:

     


    代码解析(代码有完整的注释有不懂的欢迎下方留言):

     

    public class palinNum { public boolean plainNum(int num){ //判断数是否合法 if(num<0)return false; //获取数的位数 //比如13131 //获取到的div就是10000 int div = 1; while(num/div>=10){ div*=10; } //只要num不为0循环继续 while (num!=0){ //获取最高位的数 int left = num/div; //获取最低位的数 int right = num; //最高位的数不等于最低位的数 if(left!=right)return false; //为下一次循环做准备 //比如13131 //最高位和最低位相等已经判断过了 //所以把最高位和最低位去掉 num = (num-left*div)/10; // 因为去掉了最高位和最低位,所以d位数少了两个,所以div要去掉两个0 div/=100; } return true; } }

     

    最新回复(0)