给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/palindrome-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
方法一:数学翻转
class Solution { public boolean isPalindrome(int xs) {int i = 0; int x =xs; if (x < 0)return false; else if (x == 0) return true; else { int rev = 0; while(x/10 != 0){ rev=rev*10 + x%10; x = x/10; } rev=rev*10 + x%10; if (rev == xs)return true; return false; } } }
方法二:反转一半数字,方法一的优化
class Solution { public boolean isPalindrome(int s) { int rev = 0; if (s < 0 || (s != 0 && s%10 == 0)) return false; else { while(s > rev){ rev = rev*10 + s%10; s /= 10; } } return rev == s || rev/10 == s; } }
方法三:转成字符串,翻转判断
class Solution { public boolean isPalindrome(int s) { String ss = s + ""; StringBuffer stringBuffer = new StringBuffer(ss); StringBuffer reverse = stringBuffer.reverse(); String s1 = reverse.toString(); return ss.equals(s1); } }
标签:10,return,--,rev,int,false,letcode,回文 From: https://www.cnblogs.com/xinger123/p/16650374.html