题目
9.回文数
题目描述
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/palindrome-number
我的思路
字符比较
- 把输入的数转换为字符串
- 把字符串转换为char[]数组来遍历
- m是从前往后的下标,n是从后往前的下标。
- 如果前后字符相等即digits[m]==digits[n],就再往前往后找,直到前下标大于后下标停止。
- 不相等就return false跳出。
代码
public static boolean isPalindrome(int x) {
String s=String.valueOf(x);
int m = 0;
int n = s.length()-1;
char[] digits = s.toCharArray();
while (m<=n){
if(digits[m]==digits[n]){
++m;
--n;
}else return false;
}
return true;
}
测试
public static void main(String[] args){
System.out.println(isPalindrome(-11));
}