LeetCode 第9题:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
解题思路:直接转变成字符串s,反转s得到s1,判断是否相等;
* 测试用例 0 ,121, -121,
进阶: 你能不将整数转为字符串来解决这个问题吗?
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
解题思路:直接转变成字符串s,反转s得到s1,判断是否相等;
* 测试用例 0 ,121, -121,
进阶: 你能不将整数转为字符串来解决这个问题吗?
解题思路:
当x < 0 return false , int k = 0 ,len = 0;
* 当 x >= 0 , 利用x = x/ 10 ,if x > 0, len++;求出x有几位数
* while( k <= Math.ceil(len / 2) )
* 然后在 x / (len - k)*10 == (x / (k * 10)) % 10; ? if true k++;
* else return false;
* 注意:第一次 k=0,此时 x / (k * 10)注意修改判断等式。
Java代码:
public class LeetCode9 {
public static void main(String[] args) {
int x = 0;
System.out.println(isPalindrome(x));
}
public static boolean isPalindrome(int x) {
String s = Integer.toString(x);
String s1 = new StringBuffer(s).reverse().toString();
if(s.equals(s1))
return true;
return false;
}
}