Given the string, check if it is a palindrome.
Example
For inputString = "aabaa", the output should be
solution(inputString) = true;
For inputString = "abac", the output should be
solution(inputString) = false;
For inputString = "a", the output should be
solution(inputString) = true.
Input/Output
[execution time limit] 3 seconds (java)
[input] string inputString
A non-empty string consisting of lowercase characters.
Guaranteed constraints:
1 ≤ inputString.length ≤ 105.
[output] boolean
true if inputString is a palindrome, false otherwise.
코드시그널이라는 사이트에서 알고리즘 문제를 풀고 있다.
외국 기업들에서 해당 사이트를 이용해서 코딩 테스트를 진행하기 때문에 미리 연습해놓으면 좋을거 같다.
해당 문제는 가장 기본인 펠린드롬 문제이다.
항상 복잡하고 어렵게 풀려고 해서 오래 걸렸는데 이 문제를 통해서 매우 간단하게 푸는 방법을 알았다.
아래는 위 문제의 코드이다.
boolean solution(String inputString) {
char[] c = inputString.toCharArray();
int N = c.length;
int lt = 0;
int rt = N-1;
//왼쪽이 오른쪽을 넘어가면 종료한다
while(lt <= rt) {
if(c[lt] != c[rt]) {
return false;
}
lt++;
rt--;
}
return true;
}