题目描述
将一个多位数反转,前导零不输出,不改变正负性。
输入解释
输入共一行,一个整数N
输出解释
输出共一行,表示反转后的整数。
输入样例
-380
输出样例
-83
提示
对于100%的数据,-10^10<=N<=10^10
//这是我目前写的源代码
import java.util.Scanner;
public class 逆序数 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x = in.nextInt();
String xo = Integer.toString(x);
char a[] = xo.toCharArray();
for (int i = xo.length() - 1; i >= 0; i--) {
System.out.print(a[i]);
}
}
}
稍微改了下,你看看满足要求不:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x = in.nextInt();
String xo = Integer.toString(x);
char a[] = xo.toCharArray();
char a2[] = new char[xo.length()];
int j = 0;
if('-'==a[0]||'+'==a[0])
a2[j++]=a[0];
boolean zero = true;
for (int i = xo.length() - 1; i >= 0; i--) {
if('-'==a[i]||'+'==a[i]) {
continue;
}
if(a[i]!='0') {
zero = false;
a2[j++]= a[i];
}
if(a[i]=='0'&&zero==false) {
a2[j++] = a[i];
}
if(a[i]=='0'&&zero==true) {
continue;
}
}
for(int i =0 ;i<j;i++) {
System.out.print(a2[i]);
}
}