回文數(shù)
題目描述:給你一個整數(shù) x ,如果 x 是一個回文整數(shù)乾吻,返回 true 措近;否則,返回 false 瞭郑。
回文數(shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù)。例如擒权,121 是回文,而 123 不是碳抄。
示例說明請見LeetCode官網(wǎng)。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/palindrome-number/
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有剖效。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處咒林。
解法一:前后遍歷
如果是負數(shù)爷光,直接返回false;
否則蛀序,將整數(shù)轉(zhuǎn)化為字符串,左右2個指針left和right同時從前后開始遍歷徐裸,如果相應(yīng)left和right的值不同,則返回false譬正,直到left大于right檬姥,遍歷結(jié)束粉怕。
public class Solution {
public static boolean isPalindrome(int x) {
if (x < 0) {
return false;
}
String xStr = String.valueOf(x);
int left = 0, right = xStr.length() - 1;
while (left <= right) {
if (xStr.charAt(left) == xStr.charAt(right)) {
left++;
right--;
} else {
return false;
}
}
return true;
}
public static void main(String[] args) {
System.out.println(isPalindrome(1231321));
}
}