zoukankan      html  css  js  c++  java
  • No.009:Palindrome Number

    问题:

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

    官方难度:

    Easy

    翻译:

    不使用额外空间,判断一个数是不是回文形式。

    1. 暂定负数不参与讨论。
    2. 先获取数值长度,取得对应位置的数字比较。
    3. 重点是如何取到一个整数指定位置的数字,通过(x/Math.pow(10,n-1))%10来实现。
    4. 循环至一半就可以退出。

    解题代码:

     1 public static boolean isPalindrome(int x) {
     2         // 负数不在讨论范围内
     3         if (x < 0) {
     4             return false;
     5         }
     6         int length = String.valueOf(x).length();
     7         // 低位/高位
     8         int low;
     9         int high;
    10         // 循环至一半就可以退出
    11         for (int i = 1; i < length / 2 + 1; i++) {
    12             // low+high=length+1
    13             low = getNFromLow(i, x);
    14             high = getNFromLow(length + 1 - i, x);
    15             if (!(low == high)) {
    16                 return false;
    17             }
    18         }
    19         return true;
    20     }
    21 
    22     // 获取数字x,自低位起的第n个数
    23     private static int getNFromLow(int n, int x) {
    24         return (int) ((x / Math.pow(10, n - 1)) % 10);
    25     }
    isPalindrome

    相关链接:

    https://leetcode.com/problems/palindrome-number/

    https://github.com/Gerrard-Feng/LeetCode/blob/master/LeetCode/src/com/gerrard/algorithm/easy/Q009.java

     

    PS:如有不正确或提高效率的方法,欢迎留言,谢谢!

  • 相关阅读:
    my eye
    html与HTML5的区别
    h5css样式
    h5css3弹性盒子
    简单js的介绍
    2020.8.16(周报6)
    2020.8.18
    2020.8.20
    2020.8.17
    2020.8.15
  • 原文地址:https://www.cnblogs.com/jing-an-feng-shao/p/5914868.html
Copyright © 2011-2022 走看看