diff --git a/solution/0100-0199/0125.Valid Palindrome/README.md b/solution/0100-0199/0125.Valid Palindrome/README.md index 40fb85755c784..bee068e739262 100644 --- a/solution/0100-0199/0125.Valid Palindrome/README.md +++ b/solution/0100-0199/0125.Valid Palindrome/README.md @@ -103,6 +103,29 @@ private: }; ``` +### **tTypeScript** + +```ts +function isPalindrome(s: string): boolean { + let left: number = 0, right: number = s.length - 1; + while (left < right) { + let char1: string = s.charAt(left); + let char2: string = s.charAt(right); + if (!(/[a-zA-Z0-9]/).test(char1)) { + ++left; + } else if (!(/[a-zA-Z0-9]/).test(char2)) { + --right; + } else if (char1.toLocaleLowerCase() != char2.toLocaleLowerCase()) { + return false; + } else { + ++left; + --right; + } + } + return true; +}; +``` + ### **...** ``` diff --git a/solution/0100-0199/0125.Valid Palindrome/README_EN.md b/solution/0100-0199/0125.Valid Palindrome/README_EN.md index b5e93baa32cd2..4a35fa22a60da 100644 --- a/solution/0100-0199/0125.Valid Palindrome/README_EN.md +++ b/solution/0100-0199/0125.Valid Palindrome/README_EN.md @@ -106,6 +106,29 @@ private: }; ``` +### **TypeScript** + +```ts +function isPalindrome(s: string): boolean { + let left: number = 0, right: number = s.length - 1; + while (left < right) { + let char1: string = s.charAt(left); + let char2: string = s.charAt(right); + if (!(/[a-zA-Z0-9]/).test(char1)) { + ++left; + } else if (!(/[a-zA-Z0-9]/).test(char2)) { + --right; + } else if (char1.toLocaleLowerCase() != char2.toLocaleLowerCase()) { + return false; + } else { + ++left; + --right; + } + } + return true; +}; +``` + ### **...** ``` diff --git a/solution/0100-0199/0125.Valid Palindrome/Solution.ts b/solution/0100-0199/0125.Valid Palindrome/Solution.ts new file mode 100644 index 0000000000000..acf670320b9be --- /dev/null +++ b/solution/0100-0199/0125.Valid Palindrome/Solution.ts @@ -0,0 +1,18 @@ +function isPalindrome(s: string): boolean { + let left: number = 0, right: number = s.length - 1; + while (left < right) { + let char1: string = s.charAt(left); + let char2: string = s.charAt(right); + if (!(/[a-zA-Z0-9]/).test(char1)) { + ++left; + } else if (!(/[a-zA-Z0-9]/).test(char2)) { + --right; + } else if (char1.toLocaleLowerCase() != char2.toLocaleLowerCase()) { + return false; + } else { + ++left; + --right; + } + } + return true; +}; \ No newline at end of file