程序人生程序员我爱编程

LeetCode习题解析——Palindrome Number

2018-04-07  本文已影响6人  Kindem

发布自Kindem的博客,欢迎大家转载,但是要注意注明出处

问题

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

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

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

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

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

解答

解题思路:

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);
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读