给你一个整数
x
,如果x
是一个回文整数,返回true
;否则,返回false
。回文数
是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
- 例如,
121
是回文,而123
不是。示例 1:
输入:x = 121 输出:true示例 2:
输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:
输入:x = 10 输出:false 解释:从右向左读, 为 01 。因此它不是一个回文数。
package Base_001;import java.util.Scanner;/*** @ClassName Test* @author GaoYanfei * @Date 2024/6/18 16:10* @Version V1.0* @Description :
*/
public class Solution {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("输入一个数字:");int number = scanner.nextInt();Solution solution = new Solution();solution.isPalindrome(number);}public boolean isPalindrome(int x) {boolean flag = true;if (x<0){return false;} else if (x==0) {return true;} else{// 转换为String字符串String numstr = String.valueOf(x);// 获得字符串的长度int length = numstr.length();String[] arr = new String[length];int index=0;for (int i = length-1 ; i>=0; i--){arr[index] = String.valueOf(numstr.charAt(i));System.out.println(arr[index]);index++;}// 将String[] 转换为StringStringBuffer stringBuffer = new StringBuffer();for (String str:arr){stringBuffer.append(str);}// 再将其转为StringString result = stringBuffer.toString();if (result.equals(numstr)){flag = true;}else {flag = false;}}return flag;}
}
class Solution {public boolean isPalindrome(int x) {int temp = 0;int numrev = 0;int original = x;if(x<0){return false;}else if(x==0){return true;}else{while(x!=0){temp = x%10;numrev = numrev*10 + temp;x = x/10;}}return numrev==original;}
}