-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
30 lines (21 loc) · 674 Bytes
/
index.js
File metadata and controls
30 lines (21 loc) · 674 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
// Note: For the purpose of this problem, we define empty string as valid palindrome.
// Example 1:
// Input: "A man, a plan, a canal: Panama"
// Output: true
// Example 2:
// Input: "race a car"
// Output: false
// Constraints:
// s consists only of printable ASCII characters.
// Solution
const isPalindrome = (s) => {
const str = s.toLowerCase().replace(/[^a-z0-9]/g, '');
const len = str.length;
for (let i = 0, j = len - 1; i < j; i++, j--) {
if (str[i] !== str[j]) {
return false
}
}
return true
};