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?

    class Solution(object):
        def isPalindrome(self, x):
            """
            :type x: int
            :rtype: bool
            """
            if x < 0: return False
            s = str(x)
            i, j = 0, len(s)-1
            while i<j:
                if s[i] != s[j]:
                    return False
                i += 1
                j -= 1
            return True
    

     不使用string的话,还是比较巧妙的:

    class Solution(object):
        def isPalindrome(self, x):
            """
            :type x: int
            :rtype: bool
            """
            if x < 0: return False
            num = x
            y = 0
            while x != 0:
                y = y*10 + x%10
                x /= 10
            return y == num
    
  • 相关阅读:
    scrapy 中间件
    索引
    理解平均负载
    jquery1
    网络编程
    模块
    进程
    图书管理系统用ajax删除书籍
    mysql
    jquery
  • 原文地址:https://www.cnblogs.com/bonelee/p/9346154.html
Copyright © 2011-2022 走看看