mirror of
https://github.com/prdlk/leetcode.git
synced 2026-09-17 07:26:27 +00:00
refactor(work): restructure solution directories with bucket level and add .gitkeep placeholders
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* 125. Valid Palindrome
|
||||
* Difficulty: Easy
|
||||
* https://leetcode.com/problems/valid-palindrome/
|
||||
*
|
||||
* ──────────────────────────────────────────────────
|
||||
*
|
||||
* A phrase is a palindrome if, after converting all uppercase letters
|
||||
* into lowercase letters and removing all non-alphanumeric characters,
|
||||
* it reads the same forward and backward. 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 * 10^5
|
||||
*
|
||||
* • s consists only of printable ASCII characters.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {string} s
|
||||
* @return {boolean}
|
||||
*/
|
||||
var isPalindrome = function(s) {
|
||||
let normal = s.replace(/[^a-zA-Z0-9]/g, "").toLowerCase()
|
||||
let i = 0, j = normal.length - 1;
|
||||
|
||||
while (i < j) {
|
||||
if(normal[i] !== normal[j]) {
|
||||
return false;
|
||||
}
|
||||
i++;
|
||||
j--;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
Reference in New Issue
Block a user