알고리즘/String
Leet code (Medium): 647. Palindromic Substrings (중심확장법) - Java
mezo
2024. 10. 28. 15:03
728x90
반응형
이 또한 중간 확장법을 사용해서
문자열의 문자하나를 기준점으로 찍으면서
각각에 홀수, 짝수로 나눠서 팰린드롬 갯수를 카운트 했다.
class Solution {
private int count = 0; // 팰린드롬 수
public int countSubstrings(String s){
if(s.length() <= 1){
return 1;
}
for(int i = 0; i < s.length(); i++){
// 홀수 길이 팰린드롬
expandFromCenter(s, i, i);
// 짝수 길이 팰린드롬
expandFromCenter(s, i, i+1);
}
return count;
}
private void expandFromCenter(String s, int start, int end){
while(start >= 0 && end < s.length() && s.charAt(start) == s.charAt(end)){
start--;
end++;
count++;
}
}
}
728x90
반응형