反轉字串的四種方法
阿新 • • 發佈:2019-01-04
1、使用StringBuffer自帶的方法實現
public String reverse1(String str) {
if(str == null || str.length()<=1){
return str;
}
return new StringBuffer(str).reverse().toString();
}
2、 適當的使用StringBuffer實現
public String reverse2(String str) {
if(str == null || str.length()<=1){
return str;
}
StringBuffer result = new StringBuffer(str);
int strLength = str.length();
System.out.println("=========>strLength:"+strLength);
for(int i = 0; i < strLength>>1; i++){
int swapIndex = strLength-1 -i;
System.out.println("====>swapIndex:"+swapIndex);
char swap = result.charAt(swapIndex);
result.setCharAt(swapIndex, result.charAt(i));
result.setCharAt(i, swap);
}
return result.toString();
}
3、 使用陣列方式實現
public String reverse3(String str) {
if(str == null || str.length()<=1){
return str;
}
char[] chars = str.toCharArray();
int right = chars.length - 1;
for(int left=0;left<right;left++){
char swap = chars[left];
chars[left] = chars[right];
chars[right--] = swap;
}
return new String(chars);
}
4、使用StringBuffer追加的方式實現
public String reverse4(String str) {
if(str == null || str.length()<=1){
return str;
}
StringBuffer reverse = new StringBuffer(str.length());
for(int i= str.length()-1; i>=0; i--){
reverse.append(str.charAt(i));
}
return reverse.toString();
}