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

    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.
    

    Example 3:

    Input: 10
    Output: false
    Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
    

    Follow up:

    Coud you solve it without converting the integer to a string?

    题意:

    判断是否为回文数

    Solution1:  reverse the original number as reversedInt,  if reversedInt == original number,  it is a Palindrome 

          original number     reversedInt      isPalindrome()

            123                       321                flase

            121                        121                true

    code

     1  /*
     2 Time Complexity:  O(n), loop each digit of input number 
     3 Space Complexity: O(1), allocate a variable temp
     4 */
     5 class Solution {
     6     public boolean isPalindrome(int x) {
     7         // handle input is negative  like -121 or end with 0 
     8         if (x < 0 || (x != 0 && x % 10 == 0)) return false;
     9 
    10         int temp = x;
    11         long sum = 0;
    12         while (x != 0) {
    13             sum = sum * 10 + x % 10;
    14             x = x / 10;
    15         }
    16         return (int)sum == temp;
    17     }
    18 }
  • 相关阅读:
    第九章 读书笔记
    第八章 读书笔记
    第七章 读书笔记
    第六章 读书笔记
    第五章 读书笔记
    第四章读书笔记
    第三章读书笔记
    第九章 硬件抽象层:HAL
    第10章 嵌入式linux的调试技术
    第八章 蜂鸣器驱动
  • 原文地址:https://www.cnblogs.com/liuliu5151/p/10652761.html
Copyright © 2011-2022 走看看