Leetcode Java Longest Common Prefix
업데이트:
문제
코드
class Solution {
public String longestCommonPrefix(String[] strs) {
String prefix = strs[0];
if (strs.length == 1) {
return prefix;
}
for (int idx = 1; idx < strs.length; idx++) {
while (strs[idx].indexOf(prefix) != 0) {
prefix = prefix.substring(0, prefix.length() - 1);
}
}
return prefix;
}
}
결과
설명
-
첫 문자열을 주어진 문제의 결과를 저장할 prefix 변수로 저장한다.
-
문제를 확인해보면 주어진 배열 strs의 크기는 1 ~ 200까지 이므로, 크기가 1인 경우 변수 prefix를 문제의 결과로 반환한다.
- 주어진 배열 strs의 크기가 2 이상인 경우 반복문을 통해서 각 단어의 공통된 시작 문자열을 탐색한다.
- indexOf 메서드는 해당 문자열이 대상의 문자열에 존재하지 않으면 -1, 존재하면 해당 위치 시작점의 index를 반환되므로 반복문은 0이 아닐 때까지 진행한다.
- 위의 경우를 확인하여 첫 문자열 기준으로 한 문자씩 제거하면서 다른 문자열과 공통된 문자열을 탐색한다.
- 반복이 끝나면 공통된 문자열을 저장한 prefix 변수를 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기