整数和字符串反转的几种方法(java)
前言:只要是关于int和String类型的反转类问题,都可以用以下方法进行解决
方法一:数字利用除和取余反转
public int reverseNumber(int x){
int result=0;
while(x!=0){
result=result*10+x%10;
x=x/10;
}
return result;
}
扩展应用:反转一半进行前后比较(回文数)
public boolean isPalindrome(int x) {
if(x < 0 || (x % 10 == 0 && x != 0)) {
return false;
}
int revertedNumber = 0;
while(x > revertedNumber) {
revertedNumber = revertedNumber * 10 + x % 10;
x /= 10;
}
return x == revertedNumber || x == revertedNumber/10;
}
方法二:利用字符串进行反转比较
扩展:如果是int类型数字进行反转的话,可以创建变量,将int先转为字符串,然后转换
int x;
String s = x+"";
1.将字符串反转
public static String reverse1(String str){
return new StringBuffer(str).reverse().toString();
}
2.将字符串的字符依次加到前边,实现字符串反转
public static String reverse2(String s){
int length = s.length();
String reverse = "";
for (int i = 0; i < length; i++)
reverse = s.charAt(i) + reverse;
return reverse;
}
3.将字符串转为字符数组,从后往前依次拼接,实现反转
public static String reverse3(String s){
char[] array = s.toCharArray();
String reverse = "";
for (int i = array.length - 1; i >= 0; i--)
reverse += array[i];
return reverse;
}