Wednesday, January 22, 2025
HomeProgrammingReverse a String in Java

Reverse a String in Java

To reverse a string in Java, you can use several approaches. Here are a few common and efficient methods:

Method 1: Using StringBuilder

The StringBuilder class in Java provides a method reverse() that can be used to reverse a string.

public class ReverseString {
    public static void main(String[] args) {
        String input = "Hello, World!";
        StringBuilder reversed = new StringBuilder(input);
        System.out.println("Reversed String: " + reversed.reverse().toString());
    }
}

Output:

Reversed String: !dlroW ,olleH

Method 2: Using a Loop (Manual Reversal)

You can reverse a string by looping through it from the end to the beginning and appending characters to a new string.

public class ReverseString {
    public static void main(String[] args) {
        String input = "Hello, World!";
        String reversed = "";
        
        for (int i = input.length() - 1; i >= 0; i--) {
            reversed += input.charAt(i);
        }

        System.out.println("Reversed String: " + reversed);
    }
}

Output:

Reversed String: !dlroW ,olleH

Method 3: Using Recursion

You can also reverse a string using recursion, although this is less efficient for large strings.

public class ReverseString {
    public static void main(String[] args) {
        String input = "Hello, World!";
        System.out.println("Reversed String: " + reverse(input));
    }

    public static String reverse(String input) {
        if (input.isEmpty()) {
            return input;
        }
        return reverse(input.substring(1)) + input.charAt(0);
    }
}

Output:

Reversed String: !dlroW ,olleH

Method 4: Using char[] Array

You can also reverse the string by converting it to a character array, swapping characters, and then converting it back to a string.

public class ReverseString {
    public static void main(String[] args) {
        String input = "Hello, World!";
        char[] charArray = input.toCharArray();
        
        int left = 0;
        int right = charArray.length - 1;
        
        while (left < right) {
            char temp = charArray[left];
            charArray[left] = charArray[right];
            charArray[right] = temp;
            left++;
            right--;
        }

        String reversed = new String(charArray);
        System.out.println("Reversed String: " + reversed);
    }
}

Output:

Reversed String: !dlroW ,olleH

Conclusion

  • Method 1 (StringBuilder): The simplest and most efficient way for reversing strings in Java.
  • Method 2 (Loop): Offers manual control over the process, but less efficient than using StringBuilder.
  • Method 3 (Recursion): Good for learning but less practical for large strings.
  • Method 4 (char[]): Uses low-level manipulation for those who prefer working with arrays.
See also  round() Function in C

Recommendation: If you’re working with string reversal in real-world Java applications, it’s best to use StringBuilder, as it’s the most efficient and easiest to implement.

Let me know if you’d like further clarification! 😊

RELATED ARTICLES
0 0 votes
Article Rating

Leave a Reply

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
- Advertisment -

Most Popular

Recent Comments

0
Would love your thoughts, please comment.x
()
x