将一个字符串进行反转。将字符串中指定部分进行反转,比如“abcdefg”反转为“abfedcg”。
方式一:转换为char[]
public String reverse(String str,int startIndex,int endIndex){
char[] arr = str.toCharArray();
if(str !=null && str.length()!=0){
for(int x = startIndex, y = endIndex;x < y; x++,y--){
char temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
return new String(arr);
}
return null;
}
方式二:使用String拼接
public String reverse1(String str,int startIndex,int endIndex){
if(str !=null && str.length()!=0){
//第1部分
String reverseStr = str.substring(0,startIndex);
for(int x= endIndex;x >= startIndex;x--){
//第2部分
reverseStr+=str.charAt(x);
}
//第3部分
reverseStr+=str.substring(endIndex+1);
return reverseStr;
}
return null;
方式三:使用StringBuffer或者StringBuilder拼接,对方式二的优化
public String reverse2(String str,int startIndex,int endIndex){
if(str != null && str.length() != 0){
StringBuilder builder = new StringBuilder(str.length());
//第1部分
builder.append(str.substring(0,startIndex));
for (int i=endIndex;i>=startIndex;i--){
//第2部分
builder.append(str.charAt(i));
}
//第3部分
builder.append(str.substring(endIndex+1));
return builder.toString();
}
return null;
}
本文介绍了在Java中反转字符串时,使用char[]数组、String拼接以及StringBuilder或StringBuffer进行部分反转的三种方法,详细展示了代码实现和优化过程。
3599

被折叠的 条评论
为什么被折叠?



