LeetCode习题解析 Palindrome Number

LeetCode习题解析 Palindrome Number

问题

判断一个整数是否为回文数,不能使用辅助空间

一些提示:负整数可以是回文数吗?(例如 -1)

如果你打算把整数转为字符串,请注意不允许使用辅助空间的限制。

你也可以考虑将数字颠倒。但是如果你已经解决了 “颠倒整数” 问题的话,就会注意到颠倒整数时可能会发生溢出。你怎么来解决这个问题呢?

本题有一种比较通用的解决方式。

解答

解题思路:

负整数肯定不是回文数

0一定是回文数

正整数中判断是不是回文数,只需要求出其颠倒过来的数,并看两者是不是相等,相等则是回文数,否则则不是

java代码:

public class Solution { public boolean isPalindrome(int x) { // 如果x是负整数 if (x < 0) return false; // 如果x是0 else if (x == 0) return true; else { int backup = x; int y = 0; while (x != 0) { y = y * 10 + x % 10; x = x / 10; } return (y == backup); } }}


分享到:


相關文章: