code >>
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
class Solution {
public:
bool isPalindrome(string s) {
int i = 0;
int strlen = (int)s.size();
int j = strlen - 1;
if (j == 0)
return true;
while (j >= 0 && i < strlen)
{
while (((!isalpha(s[i])) && (!isdigit(s[i])) && (i < strlen)))
{
i++;
if (i >= strlen)
break;
}
while (((!isalpha(s[j]))&&(!isdigit(s[j])) && (j >= 0)))
{
j--;
if (j < 0)
break;
}
if ((i >= strlen) && (j < 0))
return true;
s[i] = tolower(s[i]);
s[j] = tolower(s[j]);
if (s[j] != s[i])
{
return false;
}
else
{
j--;
i++;
}
}
return true;
}
};
|
'C' 카테고리의 다른 글
c++ leetcode 415 AddStrings solution (0) | 2021.07.06 |
---|---|
c++ leetcode 680번 valid palindrome II (0) | 2021.07.06 |
c++ Rabin-Kaap 알고리즘을 활용한 leetcode 796번 Rotate String (O(N)) (0) | 2021.07.06 |
c++ 문자열 검색 O(N)으로 하기 with Rabin-Karp 알고리즘 (0) | 2021.07.05 |
c++ O(N)으로 2D matrix 원소 찾기 (0) | 2021.07.04 |