Company tags: Amazon, Cisco, D-E_Shaw, Facebook.. etc.
Given a string S, check if it is palindrome or not.
Input:
The first line contains ‘T’ denoting the number of test cases. T testcases follow. Each testcase contains one lines of input. The first line contains the string S.
Output:
For each testcase, in a new line, print “YES” if it is a palindrome else “NO“. (Without the double quotes)
Constraints:
1 <= T <= 30
1 <= N <= 100
Example:
Input:
1
abba
Output:
true
Explanation:
// start and end defines the start and end index of string
boolean palindrome(char str[], int s, int e)
{
// If there is only one character
if (start == eend)
return true;
// If first and last
// characters do not match
if (str[start] != str[eend])
return false;
// If there are more than
// two characters, check if
// middle substring is also
// palindrome or not
if (start < end)
return isPalindrome(str, start + 1, end - 1);
return true;
}
Code:
package recursion;
import java.util.Scanner;
public class Palindrome {
static boolean palindrome(char[] str, int s, int e) {
if(s == e)
return true;
if(str[s] != str[e])
return false;
if(s < e) {
return palindrome(str, s+1, e-1);
}
return true;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
while(t-- != 0) {
String str = sc.next();
char[] ch = str.toCharArray();
boolean ans = palindrome(ch, 0, ch.length-1);
if(ans == true) {
System.out.println("YES");
} else {
System.out.println("NO");
}
}
}
}
Hope you guys understand the solution of to check palindrome of string in java using recursion.
For practicing the question link is given:https://practice.geeksforgeeks.org/problems/palindrome-string/0
Thanks for reading…!
Happy Coding..!
Thank You…!