Java Program To Check Palindrome String Using Recursion


A quick guide to check the string is palindrome or not using recursion in java.

1. Overview

In this tutorial, We'll learn how to check the string is palindrome using Recursive function in java.

String palindrome means if the string reversed value is equal to the original string.

Recursion means calling the one function from the same function. This is a computer programming concept and it is implemented in java.

Java Program To Check Palindrome String Using Recursion

2. Java String Palindrome Recursive example

Below example code is implemented using recursion approach. In that isPalindrome() method is getting called from the same method with substring value of original string.


Step 1: Input string is : madam

Step 2: First call to isPalindrome("madam") - first and last character is same -> m == m -> true

Step 3: Next, calling the same isPalindrome("ada") with "ada" - first and last character same -> a == a -> true

Step 4: Next, again calling the same method isPalindrome() with "d" value. Now the first if condition checks that length of this string is 1 so it returns true. This value passed to the previous step where input is "ada".

Step 5: Again from "ada" call returns true value to "madam" input call. So, finally it returns true to the main method.

All of these methods are placed inside a Runtime Stack and will be called back from top.

If the input is 1234, first and last character is not same so it comes to final return false. Hence, the string 1234 is not a palindrome.

package com.javaprogramto.programs.strings;

public class StringPalindromeRecursiveExample {

	public static void main(String[] args) {
		// input string 1234
		String string = "1234";
		 * If function returns true then the string is palindrome otherwise not
		if (isPalindrome(string))
			System.out.println(string + " is a palindrome");
			System.out.println(string + " is not a palindrome");

		// input string 1234
		String string2 = "madam";
		 * If function returns true then the string is palindrome otherwise not
		if (isPalindrome(string2))
			System.out.println(string2 + " is a palindrome");
			System.out.println(string2 + " is not a palindrome");


	 * Recursive function to check the string is palindrome or not.
	 * @param s
	 * @return
	public static boolean isPalindrome(String s) {

		// if the string has one or zero characters then recursive call is stopped.
		if (s.length() == 0 || s.length() == 1)
			return true;

		// checking the first and last character of the string. if equals then call the
		// same function with substring from index 1 to length -1. Because substring
		// excludes the endIndex.
		// if these two values are not same then string is not Palindrome so this
		// returns false.
		if (s.charAt(0) == s.charAt(s.length() - 1))
			return isPalindrome(s.substring(1, s.length() - 1));

		// this statment is executed if and if only first and last character of string
		// at any time is not equal.
		return false;


1234 is not a palindrome
madam is a palindrome

3. Conclusion

In this article, we've seen how to check the string is palindrome or not using recursive method in java.




About Us

Author: Venkatesh - I love to learn and share the technical stuff.

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,
JavaProgramTo.com: Java Program To Check Palindrome String Using Recursion
Java Program To Check Palindrome String Using Recursion
A quick guide to check the string is palindrome or not using recursion in java.
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content