迴文數
題目描述
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
示例 1:
- 輸入: 121
- 輸出: true
示例 2:
- 輸入: -121
- 輸出: false
- 解釋: 從左向右讀, 爲 -121 。 從右向左讀, 爲 121- 。因此它不是一個迴文數。
示例 3:
- 輸入: 10
- 輸出: false
- 解釋: 從右向左讀, 爲 01 。因此它不是一個迴文數。
進階:
你能不將整數轉爲字符串來解決這個問題嗎?
題解
python代碼
class Solution:
def isPalindrome(self, x: int) -> bool:
if x < 0: return False
x0 = x
ans = 0
while x > 0:
ans = ans*10 + x%10
x //= 10
return ans == x0
更簡單的Python代碼
class Solution:
def isPalindrome(self, x: int) -> bool:
x = str(x)
if x == x[::-1]:
return True
return False
完整python代碼
class Solution:
def isPalindrome(self, x: int) -> bool:
x = str(x)
if x == x[::-1]:
return True
return False
def main():
import sys
import io
def readlines():
for line in io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8'):
yield line.strip('\n')
lines = readlines()
while True:
try:
line = next(lines)
x = int(line);
ret = Solution().isPalindrome(x)
out = (ret);
print(out)
except StopIteration:
break
if __name__ == '__main__':
main()