【leetcode】9 longest common prefix

数组字符串的最长公共前缀

注意事项:

1 抓住前缀这一点,区别最长公共子串

2 取基准pivot---第一个子串,依次与剩下字符串比较

3 比较方法:获取两字符串中最短长度n,比较(0,n),从n开始比较,不相等即n--;

更新pivot长度(0,n)

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.size()==0)
            return "";
        string pivot=*strs.begin();
        vector<string>::iterator it=strs.begin();//注意iterator语法
        int n=0;
        for(it=it+1;it!=strs.end();it++){
            n=pivot.size()>(*it).size()?(*it).size():pivot.size();//注意size语法
            while(pivot.compare(0,n,*it,0,n)!=0){
                n--;
            }
            pivot=pivot.substr(0,n);
        }
        return pivot;
    }
};
 

原文地址:https://www.cnblogs.com/wygyxrssxz/p/4494443.html