本文共 871 字,大约阅读时间需要 2 分钟。
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 进阶: 你能不将整数转为字符串来解决这个问题吗? 解法一public static class Solution1 { public boolean isPalindrome(int x) { if (x == 0) { return true; } if (x < 0) { return false; } int rev = 0; int tmp = x; while (tmp != 0) { rev *= 10; rev += tmp % 10; tmp /= 10; } return rev == x; }}
解法二:
public static class Solution2 { public boolean isPalindrome(int x) { if (x < 0) { return false; } else if (x == 0) { return true; } else if (x % 10 == 0) { return false; } int reversed = 0; while (x > reversed) { int digit = x % 10; reversed *= 10; reversed += digit; x /= 10; } return (x == reversed || x == reversed / 10); }}
转载地址:http://vtcki.baihongyu.com/