[leetcode] Longest Common Prefix

Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings. 

思路:

找最长前缀,暴力法寻找。遍历整个容器,prefix记录了当前的最长前缀,将prefix与下一个string进行比较寻找相同的前缀,并更新prefix,如此直到遍历完整个容器。在prefix与string比较的时候,比较的长度是prefix与string长度中较小的那个。

题解:

class Solution {
public:
    string longestCommonPrefix(vector<string> &strs) {
        string prefix;
        if(!strs.size())
            return prefix;
        prefix = strs[0];
        for(int i=1;i<strs.size();i++) {
            int len = min(prefix.size(), strs[i].size());
            int j;
            for(j=0;j<len;j++)
                if(prefix[j]!=strs[i][j])
                    break;
            prefix.erase(j);
        }
        return prefix;
    }
};
View Code

 后话:

无意中又发现了一种方法,感觉很好,还是陆大神的,放上来学习学习

原文地址:https://www.cnblogs.com/jiasaidongqi/p/4216507.html