您的位置:首页 > 其它

Leetcode.Longest Common Prefix

2015-06-24 11:33 330 查看


Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings.
找最长公共前缀

class Solution {
public:
    string longestCommonPrefix(vector<string> &strs) {
        if(strs.size() == 0) return string("");
        int strIdx = 0;
        //choose the smallest string first
        for(int i = 1; i < strs.size(); ++i)
            if(strs[i].size() < strs[strIdx].size()) strIdx = i;
        int commonLen = strs[strIdx].size();
        for(int i = 0; i < strs.size(); ++i)
        {
            if(i == strIdx) continue;
            int curLen = 0;
            for(int j = 0; j < strs[i].size() && j < commonLen; ++j)
            {
                if(strs[strIdx][j] == strs[i][j]) curLen++;
                else break;
            }
            commonLen = curLen;
        }
        return strs[strIdx].substr(0, commonLen);
    }
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: