Problem of the day
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.
Note :
String 'S' is NOT case sensitive.
Example :
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.
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.
Note :
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
2
N2 i&nJA?a& jnI2n
A1b22Ba
Yes
No
For the first test case, S = “N2 i&nJA?a& jnI2n”. If we ignore the special characters, whitespaces and convert all uppercase letters to lowercase, we get S = “n2injaajni2n”, which is a palindrome. Hence, the given string is also a palindrome.
For the second test case, S = “A1b22Ba”. If we ignore the special characters, whitespaces and convert all uppercase letters to lowercase, we get S = “a1b22ba”, which is not a palindrome. Hence, the given string is not a palindrome.
3
codingninjassajNiNgNidoc
5?36@6?35
aaBBa@
Yes
Yes
No
A simple and intuitive approach could be to compare the given string with its reversed form and check whether they are equal or not. Ignoring the symbols, whitespaces and case during the comparison.
O(Length(S)), where S is the given string.
In the worst case, reversing and comparing the string S requires O(Length(S)) operations. Hence, the overall time complexity is O(Length(S)).
O(Length(S)), where S is the given string.
In the worst case, extra space O(Length(S)) is required to store the reversed string. Hence, the overall space complexity is O(Length(S)).