Reverse a String in Java

Learn to write Java program to reverse a String. We will first see how to reverse the string, and then we will also see how to reverse the words in the String.

It’s a common puzzle asked in Java interviews at the beginner level. Let’s memorize these solutions for quick recall.

1. Java Program to Reverse the Characters of a String

We can reverse a string by character easily, using a StringBuilder.reverse() method.

String blogName = "";
String reverse = new StringBuilder(string).reverse();
System.out.println("Original String -> " + blogName);
System.out.println("Reverse String -> " + reverse);

The program output:

Original String ->
Reverse String -> moc.avaJnIoDoTwoH

2. Java Program to Reverse the Words of a String

While reversing string content by words, the most natural way is to use a StringTokenizer and a Stack. As you are aware that Stack is a class that implements an easy-to-use last-in, first-out (LIFO) stack of objects.

String description = "Java technology blog for smart java concepts and coding practices";
// reverse string builder
StringBuilder reverseString = new StringBuilder();
// Put words from String in Stack
Stack<String> myStack = new Stack<>();
StringTokenizer tokenizer = new StringTokenizer(description, " ");
while (tokenizer.hasMoreTokens()) {
//Pop each word from stack and append in builder
while (!myStack.empty()) {
  reverseString.append(myStack.pop() + " ");

The program output:

practices coding and concepts java smart for blog technology Java 

Happy Learning !!

Source Code on Github


Notify of
Most Voted
Newest Oldest
Inline Feedbacks
View all comments

About Us

HowToDoInJava provides tutorials and how-to guides on Java and related technologies.

It also shares the best practices, algorithms & solutions and frequently asked interview questions.

Our Blogs

REST API Tutorial

Dark Mode

Dark Mode