整数和字符串反转的几种方法

整数和字符串反转的几种方法(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++) 
     //在新字符串前面添加读取字符,实现翻转
     //charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1
     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; 
} 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值