Skip to content

Commit ea58a3b

Browse files
add: valid-palindrome
1 parent 783ff8a commit ea58a3b

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
// NOTE: ํŒฐ๋ฆฐ๋“œ๋กฌ์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž์™€ "์ˆซ์ž" ๊นŒ์ง€ ํฌํ•จํ•˜๋Š”๋“ฏ ํ•˜๋‹ค.
3+
// O(n) ์•Œ๊ณ ๋ฆฌ์ฆ˜.
4+
import java.util.stream.Collectors;
5+
6+
class Solution {
7+
public boolean isPalindrome(String s) {
8+
9+
String filtered = s.chars()
10+
.filter(Character::isLetterOrDigit)
11+
.mapToObj(c -> String.valueOf((char) c))
12+
.map(String::toLowerCase)
13+
.collect(Collectors.joining());
14+
15+
char[] cArr = filtered.toCharArray();
16+
17+
int startIdx = 0;
18+
int endIdx = cArr.length - 1;
19+
20+
while(startIdx < endIdx) {
21+
if(cArr[startIdx] != cArr[endIdx]) {
22+
return false;
23+
}
24+
25+
startIdx++;
26+
endIdx--;
27+
}
28+
29+
return true;
30+
}
31+
}

0 commit comments

Comments
ย (0)