前言
有一些面試官可能在面試Java基礎的時候,讓你說一下字符串反轉,會手撕代碼,常見的是四種方法。
一、使用StringBuilder的reverse()方法
個人覺得這是最簡單的一種,調用一下自身的方法就可以完成了。
static String reverseElement1(String element){
StringBuilder result = new StringBuilder(element);
return result.reverse().toString();
}
二、使用字符串數組
使用字符串數組,實現從尾部開始逐個逆序放入字符串,這樣也可以實現字符串的反轉。
static String reverseElement2(String element){
//String轉換成字符數組
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()方法進行操作。
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();
}
四、使用String的CharAt方法
使用遞歸的方式實現字符串反轉。
static String reverseElement4(String element) {
//首先判斷一下字符串是不是爲空和其長度
if (element == null || element.length() <= 1) {
return element;
} else {
return reverseElement4(element.substring(1)) + element.charAt(0);
}
}