判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
思路 1:时间复杂度: O(N) 空间复杂度: O(N)
Python实现
# -*- coding: utf-8 -*-
# @Time : 2020/1/7 16:47
# @Author : Eric Lee
# @Email : li.yan_li@neusoft.com
# @File : 回文数.py
# @Software: PyCharm
class Solution:
def isPalindrome(self, x: int) -> bool:
if x < 0 :
return False
elif str(x) == str(x)[::-1]:
return True
else:
False
print(Solution().isPalindrome(212))
Java实现
GO实现
func isPalindrome(x int) bool {
if x < 0 { // 排除小于0的数
return false
}
xStr := strconv.Itoa(x)
xStrReverse := make([]rune, 0)
for i, _ := range xStr {
xStrReverse = append(xStrReverse, rune(xStr[len(xStr)-1-i]))
}
for i := 0; i < len(xStr); i += 1 { // 通过字符串进行反转,对比数字是否相等就行
if rune(xStr[i]) != xStrReverse[i] {
return false
}
}
return true
}