数字反转问题(Java实现)
记录面试遇到的一个问题。
问题场景:
输入一串数字,逆序后输出。
示例:
输入:-123,输出:-321
输入:100, 输出:1
程序实现:
import java.util.Scanner;
public class NumberReversal {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
long time1=System.currentTimeMillis();
int result=0;
int tmp=Math.abs(n);
while(tmp>0){
result*=10;
result+=tmp%10;
tmp/=10;
}
System.out.println(n>=0?result:-result);
long time2=System.currentTimeMillis();
System.out.println(time2-time1);
}
}
测试截图:
可以看到这个算法的效率还是非常高的。
吾生也有涯,而知也无涯。