오늘은 오전에 시간이 많아서 많이 풀고 있네요..
5번째 문제인 Longest Palindromic Substring
난이도는 중입니다.
저는 아래와 같이 풀었습니다.
class Solution {
public:
string longestPalindrome(string s) {
if (s.empty()) return "";
if (s.size() == 1) return s;
const char *buf = s.c_str();
int nBufSize = s.size(), size, pos = 0;
for ( size = nBufSize; size >= 1; size -- ) {
for ( pos = 0; pos < nBufSize - size + 1; pos ++ ) {
if ( checkPalindromic(buf + pos, size) ) {
return string(buf + pos, size);
}
}
}
return "";
}
bool checkPalindromic(const char *buf, int nBufSize) {
int nLeftPos = 0;
int nRightPos = nBufSize - 1;
bool bFind = true;
while ( nLeftPos < nRightPos ) {
if ( buf[nLeftPos] != buf[nRightPos] ) {
bFind = false;
break;
}
nLeftPos ++;
nRightPos --;
}
return bFind;
}
};
그런데 속도는 18.61%...
모가 문제일까요... ㅠㅠ
'Dev Language > LeetCode' 카테고리의 다른 글
[LeetCode] 6. ZigZag Conversion (0) | 2018.01.10 |
---|---|
[LeetCode] 4. Median of Two Sorted Arrays (0) | 2018.01.10 |
[LeetCode] 3. Longest Substring Without Repeating Characters (0) | 2018.01.10 |
[LeetCode] 2. Add Two Number (0) | 2017.12.31 |
[LeetCode] 1. Two Sum (0) | 2017.12.31 |