zoukankan      html  css  js  c++  java
  • LeetCode 9 Palindrome Number(回文数字判断)

    Long Time No See !
     
     
    首先确定该数字的位数。按照已知数字x对10进行多次求余运算,可以得到数字位数。
    具体思路:
    1、每次取出该数字的最高位和最低位进行比较。
    2、如果不相等则直接返回FALSE,
    3、如果相等修改x的值(去掉最高位也同时去掉最低位)其中去掉最高位可以通过求模运算,去掉最低位可以采用除以10
    4、进行循环直到x的值不大于0为止
     
    参考代码:
    package leetcode;
    
    /***
     * 
     * @author pengfei_zheng
     * 判断回文数字
     */
    public class Solution09 {
        public boolean isPalindrome(int x) {
            if(x < 0) //小于0返回false
                return false;
            int len = 1;
            while(x/len >= 10)
                len *=10;//求出x的位数对应的pow(10,n)
            while(x>0){
                int left = x / len;//取x的最高位
                int right = x % 10;//取x的最低位
                
                if(left != right)//有不等则返回false
                    return false;
                else {
                    x = (x % len) / 10;//修改x的值 求模运算去掉最高位 除法运算去掉最低位
                    len /= 100;//修改x的位数对应的pow(10,n)
                }
            }
            return true;
        }
    };
  • 相关阅读:
    How Many Answers Are Wrong
    Agri-Net —poj1258
    食物链
    A Bug's Life
    畅通工程
    Shortest path of the king
    Alex and Number
    KMP
    快速幂
    0x04
  • 原文地址:https://www.cnblogs.com/zpfbuaa/p/6498525.html
Copyright © 2011-2022 走看看