leetcode.com/problems/longest-common-prefix/
int compare(string a, string b){
return a.size() < b.size();
}
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string result = "";
if(strs.size()==0){
return result;
}
sort(strs.begin(),strs.end(),compare);
//첫번째 문자열의 인덱스 하나 하나
for(int j=0; j<strs[0].size(); j++){
//다음 문자열의 인덱스 하나 하나
int i = 0;
while(i<strs.size()){
if(strs[0].at(j) == strs[i].at(j)){
}
else{
return result;
}
i++;
}
result += strs[0].at(j);
}
return result;
}
};
//1)먼저 문자 길이대로 정렬
//2)가장 짧은 문자를 기준으로 다른것과 하나씩 확인
//3)다르면 멈추고 리턴, 바뀐게 없으면 ""리턴
처음에 length가 0일 경우의 예외처리를 해주지 않으니까 runtime error가 났었다. 혹시 runtime error가 난다면, 이 부분을 참고하기를 바란다.
'알고리즘 문제풀이 > LeetCode' 카테고리의 다른 글
LeetCode 686번- Repeated String Match (0) | 2020.07.28 |
---|---|
LeetCode 67번 - Add Binary (0) | 2020.07.28 |
LeetCode 81번 - Search in Rotated Sorted Array II (0) | 2020.07.27 |
LeetCode 33번 - Search in Rotated Sorted Array (0) | 2020.07.27 |
LeetCode 41번 - First Missing Positive (0) | 2020.07.27 |