回文数:正序读与反序读结果相同,如:121,正读与反读都为121.
思路:
1.使用Scanner类来控制键盘输入整数。
2.将整数倒置,与原来进行对比,相同则为回文数。
温馨提示:思路部分代码仅提供参考,不做运行,代码运行看总结。
倒置思路:
1.取出个位数字
int i = num % 10;
2.消除个位数字,继续取出新整数的个位数
int i = num/10%10
3.将每位数字整合在一起,得到倒置数字。
int temp = num;
int returnNum = 0;
while(temp!=0){
int ge = temp%10;
temp = temp / 10;
returnNum = returnNum * 10 + ge;
}
核心部分为:while循环中,取出每一次个位数字之后,将个位数*10,以达到将其“左移”的目的。
在数次/10过程中,temp/10的商终究会为0,为0时,则达到终止循环条件。
负数也不为回文数,在以下代码中不做实现,如需要可自行添加.思路:
if(num<0){
System.out.println("false");
}
总体代码运行:
package com.it.test;
import java.util.Scanner;
public class Leetcodetest1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter number:");
int n = sc.nextInt();
int temp = n;
int sum = 0;
while (temp != 0) {
int ge = temp % 10;
temp /= 10;
sum = sum*10 + ge;
}
System.out.println(sum==n);
}
}