The following code shows different methods of reversing a String in Java. The simplest being using the reverse() method of StringBuffer, while the other methods use char array and recursion:
- public class StringReverse {
- public static void main(String[] args) {
- String s = "zyxwvutsrqponmlkjihgfedcba";
- System.out.println(charReverse(s));
- System.out.println(recursiveReverse(s , new StringBuffer()));
- System.out.println(recursiveReverse2(s, new StringBuffer()));
- System.out.println(bufferReverse(s));
- }
- public static String charReverse(String s) {
- char[] cArr = s.toCharArray();
- StringBuffer reversed = new StringBuffer();
- for(int i=cArr.length-1; i>=0; i--) reversed.append(cArr[i]);
- return reversed.toString();
- }
- public static String recursiveReverse(String s, StringBuffer t) {
- if(s.length() > 0) {
- t.append(s.substring(s.length()-1));
- recursiveReverse(s.substring(0, s.length()-1), t);
- }
- return t.toString();
- }
- public static String recursiveReverse2(String s, StringBuffer sb) {
- if (s.length() == 1){
- sb.append(s);
- }
- else{
- recursiveReverse2(s.substring(1, s.length()), sb);
- sb.append(s.substring(0,1));
- }
- return sb.toString();
- }
- public static String bufferReverse(String s) {
- StringBuffer sb = new StringBuffer(s);
- return sb.reverse().toString();
- }
- }
No comments:
Post a Comment