如何在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