반응형

[LeetCode, 리트코드] Longest Common Prefix

반응형

1. Problem


모든 주어진 문자열 배열을 통틀어서 가장 긴 접두사를 구하라. 만약 공통된 접두사가 없으면 ""를 반환해라

Example 1:

Input: ["flower","flow","flight"]
Output: "fl"

Example 2:

Input: ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.

 

2. Solution


간단한 문제다. 각 문자열의 문자를 가르키는 공통된 인덱스 변수를 두고 그 변수를 따라서 공통 접두사를 구하면 된디.

3. Code

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.size() == 0)
            return "";

        int loc=0;
        int minSize = 9999999;
        for(string s : strs){
            minSize = std::min(minSize, (int)s.size());
        }

        string ret="";
        bool flag = true;
        for(int i=0; i<minSize; ++i){
            char currentChar = strs[0][i];
            flag = true;
            for(int j=0; j<strs.size(); ++j){
                if(currentChar != strs[j][i]){
                    flag = false;
                    break;
                }
            }
            if(!flag)
                break;
            ret += strs[0][i];
        }
        
        return ret;
    }
};


 

 

반응형

이 글을 공유하기

댓글

Designed by JB FACTORY