JAVA字符串反转小结(一)

JAVA字符串反转

考虑到在我的笔试题目中经常用到原理,现做一个小结

方法一:使用StringBuilder的reverse()方法,个人觉得这是最简单的一种,调用一下自身的方法就可以完成了。
public static String reverseElement(String element) {
StringBuilder result = new StringBuilder(element);
return result.reverse().toString();
}

方法二:使用字符串数组,使用字符串数组,实现从尾部开始逐个逆序放入字符串,这样也可以实现字符串的反转。
public static String reverseElement2(String element) {
char [] charArray = element.toCharArray();
StringBuilder result = new StringBuilder();
for(int i=charArray.length - 1;i > = 0;i--){
result.append(charArray[i])
}
return result.toString();
}
方法三:使用String的CharAt方法,使用String的CharAt方法取出字符串中的各个字符,然后插入到字符串中,调用StringBuilder的insert()方法进行操作。
public static String reverseElement3(String element) {
StringBuilder result = new StringBuilder();
int length = element.length();
for(int i = 0;i<length;i++){
 result.insert(0,element.charAt(i));
 }
 return result.toString();
}
方法四:使用递归的方法,实现字符串反转。

思路是字符串转换成字符数组,每次截取字符串的首字符放到最后,并再次对剩余字符串递归截取首字符

public static String reverseElement4(String element) {
//首先判断一下字符串是不是空和长度异常
  if(element == null || element.length() <= 1{
  return element;
  } else{
  return reverserElement4(element.substring(1))+element.charAt(0);
  }
}

这里涉及到String类的substring()方法

方法如下:
1、 public String substring(int beginIndex)
返回一个新字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。
参数:beginIndex - 开始处的索引(包括), 返回:指定的子字符串,

异常:如果 beginIndex 为负或大于此 String 对象的长度,则抛出IndexOutOfBoundsException

例 :“unhappy”.substring(2) returns"happy"

“mybaby”.substring(3) returns"aby" 
2、public String substring(int beginIndex, int endIndex)

返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始, endIndex:到指定的 endIndex-1处结束。
参数:beginIndex - 开始处的索引(包括)   endindex 结尾处索引(不包括)。
返回:指定的子字符串。
抛出:如果 beginIndex 为负,或length大于字符串长度,则抛出IndexOutOfBoundsException
例:“hamburger”.substring(3,8) returns “burge”
  “smiles”.substring(0,5) returns “smile”

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值