Check If The String Is A Palindrome
Posted: 31 Dec, 2020
You are given a string 'S'. Your task is to check whether the string is palindrome or not. For checking palindrome, consider alphabets and numbers only and ignore the symbols and whitespaces.
String 'S' is NOT case sensitive.
Let S = “c1 O$d@eeD o1c”. If we ignore the special characters, whitespaces and convert all uppercase letters to lowercase, we get S = “c1odeedo1c”, which is a palindrome. Hence, the given string is also a palindrome.
Input format :
The very first line of input contains an integer 'T' denoting the number of test cases. The first line of every test case contains the string 'S'.
Output format :
For each test case, print “Yes” if 'S' is a palindrome, and “No” otherwise. Print the output of each test case in a separate line.
You do not need to print anything, it has already been taken care of. Just implement the given function.
Follow Up :
Can you solve the problem using O(1) space complexity?
1 <= T <= 100 1 <= Length(S) <= 10^4 Where 'T' denotes the number of test cases and 'S' denotes the given string. Time Limit : 1 sec
- A palindrome string is a sequence of characters which reads the same backward as forward. We use this property of palindrome to check whether the given string is a palindrome or not.
- First off, we convert the given string to lowercase, this would make it easier for us to check for palindrome.
- Now, the idea is to reverse the given string and store it in another variable.
- We need to compare the original string with the reversed one.
- During the comparison, we ignore the special characters, whitespaces and case of the string and consider only the alphabets and numbers.
- We keep two pointers i and j, pointing to start of the given string and the reversed string respectively.
- During each iteration, if both the pointer point to valid characters (i.e. alphabets or numbers only), we check if both the characters are equal or not.
- If both characters are equal, we increment ith pointer and the jth pointer.
- Otherwise, the string is not a palindrome.
- Otherwise, if a pointer doesn’t point to a valid character (symbols and whitespaces are not valid), we skip that character and move the pointer to the next index.
- We stop the iteration when the pointers reach the end of the string.
- In this way, we can check if the given string is a palindrome or not.
Shortest Common Supersequence
Posted: 4 Mar, 2022
Posted: 13 Apr, 2022
Posted: 14 Apr, 2022
Posted: 15 Apr, 2022
Count vowels, consonants, and spaces
Posted: 18 May, 2022