JavaScript find valid palindrome or not | leet code question 125
Hello friends,
If you come here to check the solution of the following question.
JavaScript find valid palindrome or not
this question is asked in LeetCode as a valid palindrome(Question Number -125) and its difficulty is easy.
If you search on google mostly we get solutions in Java, Python, or C++. if we are lucky then only we get the
solution in javascript for the leet code questions.
So let's first understand the question.
A phrase is a palindrome if it reads the same forward and backward after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters. Alphanumeric characters include letters and numbers.
Given a string s,
return true if it is a palindrome, or false otherwise.
Example 1:
Input: s = "A man, a plan, a canal: Panama" Output: true Explanation: "amanaplanacanalpanama" is a palindrome.
Example 2:
Input: s = "race a car" Output: false Explanation: "raceacar" is not a palindrome.
Example 3:
Input: s = " " Output: true Explanation: s is an empty string "" after removing non-alphanumeric characters. Since an empty string reads the same forward and backward, it is a palindrome.
Constraints:
1 <= s.length <= 2 * 105sconsists only of printable ASCII characters.
So the solution to the above question is.
/**
* @param {string} s
* @return {boolean}
*/
var isPalindrome = function(s) {
s = s.toLowerCase().replace(/[\W_]/g,""); // replace() method will replace all non alphanumeric to empty chars
let left = 0;
let right = s.length-1;
while(left < right){
if(s[left]!==s[right]){
return false;
}
left++;
right--;
}
return true;
};
Complexity of the solution is as follows:
Time Complexity: O(N)
Space Complexity: O(1)
Comments
Post a Comment