zoukankan      html  css  js  c++  java
  • 9. 回文数 Palindrome Number

    Determine whether an integer is a palindrome. Do this without extra space.
    题意:判断一个数字是否为回文数

    如何取得一个Integer的最高位?假设x = 688答:x / mask. 设置一个和x位数一样的mask,mask = 100,然后用x/mask,表示x里面有几个mask,即是最高位数字. 688里有6个100,即为6.

    如何删去一个Integer的最高位?假设x = 688答:x = x % mask. 还是用这个mask,用 x = x % mask 即可得到688除以100的余数,这个余数其实等于删掉了x的最高位剩下的数.

    如何取得一个Integer的最低位?假设x = 688答:x % 10.

    如何删去一个Integer的最低位?假设x = 688答:x = x / 10.

    1. public class Solution {
    2. public bool IsPalindrome(int x) {
    3. if(x < 0) return false;
    4. if(x == 0) return true;
    5. int num = x;
    6. int div = 1;
    7. while(num >= 10){
    8. num /= 10;
    9. div *= 10;
    10. }
    11. while (x > 0) {
    12. int left = x / div;
    13. int right = x % 10;
    14. if (left != right){
    15. return false;
    16. }
    17. x = (x % div) / 10;
    18. div = div / 100;
    19. Console.WriteLine(x);
    20. Console.WriteLine(div);
    21. }
    22. return true;
    23. }
    24. }

    1. public boolean isPalindrome1(int x) {
    2. if (x<0 || (x!=0 && x%10==0)) return false;
    3. int rev = 0;
    4. while (x>rev){
    5. rev = rev*10 + x%10;
    6. x = x/10;
    7. }
    8. return (x==rev || x==rev/10);
    9. }





  • 相关阅读:
    第二节:简单工厂模式(静态工厂模式)
    第一节:不使用设计模式的传统方式
    第三章:设计模式概述
    第二节:类与类之间的关系
    高斯混合模型(GMM)
    随机森林
    LDA主题模型
    Adaboost算法
    线性代数
    k-means聚类
  • 原文地址:https://www.cnblogs.com/xiejunzhao/p/6512334.html
Copyright © 2011-2022 走看看