diff --git a/javascript/125-Valid-Palindrome.js b/javascript/125-Valid-Palindrome.js index d953b3802..820e22a9c 100644 --- a/javascript/125-Valid-Palindrome.js +++ b/javascript/125-Valid-Palindrome.js @@ -16,4 +16,4 @@ var isPalindrome = function(s) { j-- } return true; -}; +}; diff --git a/javascript/125-ValidPalindrome.js b/javascript/125-ValidPalindrome.js new file mode 100644 index 000000000..8067737e4 --- /dev/null +++ b/javascript/125-ValidPalindrome.js @@ -0,0 +1,30 @@ +class isValidPalindrome { + constructor(string){ + this.string=string; + } + isPalindrome(string){ + let left =0; + let right=string.length-1; + while(leftleft && this.isAlphaNumeric(string[right])){ + right-- + } + if(string[left].toLowerCase()!=string[right].toLowerCase()) { + return false; + } + left++ + right-- + } + return true + } + + isAlphaNumeric(c){ + return ('A'.charCodeAt(0) <= c.charCodeAt(0) <='Z'.charCodeAt(0) || + 'a'.charCodeAt(0) <= c.charCodeAt(0) <='z'.charCodeAt(0) || + '0'.charCodeAt(0) <= c.charCodeAt(0) <='9'.charCodeAt(0)) + } + +} \ No newline at end of file