Java算法题(来自lettcode)----03回文数

题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

看到这个题我相信大家,第一时间想到的肯定是用字符串,当然这也是最简单的方法

    public boolean isPalindrome(int x) {
		String str = new String(x + "");
		StringBuffer sb = new StringBuffer();
		String revStr = sb.append(str).reverse().toString();
		if (str.equals(revStr)) {
			return true;
		} else {
			return false;
		}
	}

但还有一种进阶的算法,就是

先想想

代码奉上

public boolean isPalindrome(int x) {
		if (x < 0) {
			return false;
		} else {
			int temp = 0;
			int y = 0;
			int quo = x;
			while (quo != 0) {
				temp = quo % 10;
				y = y * 10 + temp;
				quo = quo / 10;
			}
			return y == x;
		}
}

这个方法我也想了很久,但是没有想到。最后还是看的别人的,慢慢想想吧。

你可能感兴趣的:(lettcode)