如何在Java中反转字符串
时间:2020-01-09 10:35:31 来源:igfitidea点击:
在本文中,我们将介绍如何在Java中反转字符串。尽管Java中的StringBuffer和StringBuilder类具有可用于反转String的reverse()方法,但是可能会要求我们编写自己的逻辑以反转String。在那种情况下,我们也可以通过迭代或者递归来实现。这三个解决方案都在这里给出。
使用StringBuilder / StringBuffer类
public class ReverseString {
public static void main(String[] args) {
StringReverse("String reverse program in theitroad");
}
// Method using StringBulider class reverse method
private static void StringReverse(String str){
StringBuilder sb = new StringBuilder(str);
System.out.println("Reversed String- " + sb.reverse().toString());
}
}
输出:
Reversed String- edocpnk ni margorp esrever gnirtS
使用迭代方法来反转字符串
如果使用迭代方法来反转Java中的字符串,则需要从末尾开始循环String,并继续将每个字符添加到String中。
public class ReverseString {
public static void main(String[] args) {
StringReverse("String reverse program in theitroad");
}
// Method using StringBulider class reverse method
private static void StringReverse(String str){
StringBuilder sb = new StringBuilder();
// read string backward
for(int i = str.length() - 1; i >= 0; i--){
sb.append(str.charAt(i));
}
System.out.println("Reversed String- " + sb.toString());
}
}
输出:
Reversed String- edocpnk ni margorp esrever gnirtS
使用递归方法反转字符串
public class ReverseString {
public static void main(String[] args) {
String reversedString = StringReverse("test line");
System.out.println("Reversed String- " + reversedString);
}
// Method using StringBulider class reverse method
private static String StringReverse(String str){
//base case
if((str == null) || (str.length() <= 1)){
return str;
}
// Take the substring from index 1 till last
// append the char at index 0 at the last
return StringReverse(str.substring(1)) + str.charAt(0);
}
}
输出:
Reversed String- enil tset

