zoukankan      html  css  js  c++  java
  • Palindrome Number

    Palindrome Number

    问题:

    Determine whether an integer is a palindrome. Do this without extra space.

    思路:

    常用的进制遍历方法

    while(num != 0)
    {
            remian = num % 进制;
            num /= 进制;  
    }
    View Code

    我的代码:

    public class Solution {
        public boolean isPalindrome(int x) {
            if(x < 0)   return false;
            int reverse = reverse(x);
            return reverse == x;
        }
        public int reverse(int x)
        {
            int rst = 0;
            while(x != 0)
            {
                rst = rst * 10 + x % 10;
                x /= 10;
            }
            return rst;
        }
    }
    View Code

    他人代码:

    class Solution {
    public:
        bool isPalindrome(int x) {
            
            //negative number
            if(x < 0)
                return false;
                
            int len = 1;
            while(x / len >= 10)
                len *= 10;
                
            while(x > 0)    {
                
                //get the head and tail number
                int left = x / len;
                int right = x % 10;
                
                if(left != right)
                    return false;
                else    {
                    //remove the head and tail number
                    x = (x % len) / 10;
                    len /= 100;
                }
            }
            
    

      

    学习之处:

    • 常见数字访问方法,while(num != 0) num /= 进制数
    • 常用的进制增加方法, num = num * 进制 + some remain
  • 相关阅读:
    如何用grunt压缩文件
    nodejs 下载,安装,测试(windows环境下)
    INNODB和MYISAM
    HashMap和HashTable
    平衡二叉树(AVL)
    二叉排序树删除
    二叉排序树的创建和遍历
    二叉排序树基础
    赫夫曼树
    堆排序
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/4329279.html
Copyright © 2011-2022 走看看