문자열 배열(여러 문자열)의 가장 긴 공통 접두사 찾기

5368 단어 leetcode

코드


먼저 문자열 용기에 대해 정렬 처리를 한 다음, 맨 끝 두 문자열의 가장 긴 공통 접두사를 꺼냅니다
	//              
	string CommonTwoStr(const string& str1, const string& str2)
    {
        int i = 0;
        int minSize = min(str1.size(), str2.size());
        while (str1[i] == str2[i] && i < minSize)
        {
            ++i;
        }
        return str1.substr(0, i);
    }

    string longestCommonPrefix(vector<string>& strs) {
        if (strs.empty())
            return "";
        else if (strs.size() == 1)
            return strs[0];
        sort(strs.begin(), strs.end());  //     
        string result = CommonTwoStr(strs[0], strs[strs.size() - 1]);
        return result;
    }

테스트 용례


예1: 입력: ["flower", "flow", "flight"] 출력: "fl"
예2: 입력: ["dog", "racecar", "car"] 출력: "설명: 입력에 공통 접두사가 존재하지 않습니다.

좋은 웹페이지 즐겨찾기