最长公共前缀

方法一 循环:

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.empty())
        {
            return "";
        }               //注意为空的情况
        string str1;    //从vector中取
        string str0=strs[0];    //用作输出
        int num=strs.size();
        for(int j=1;j<num;j++)
        {
            str1=strs[j];
            int num0=str0.size();   //用作输出的
            int num1=str1.size();   //用作迭代的
            int count=0;
            string str3;
            if(num1<=num0)
            {
                count=num1;         //输出长度大于迭代长度,交换输出和迭代
                str3=str0;
                str0=str1;
                str1=str3;
            }
            else
            {
                count=num0;
            }
            for(int i=0;i<count;i++)
            {
                if(str1[i]!=str0[i])
                {
                    str0.erase(str0.begin()+i,str0.end());         //删除输出与迭代不一致的部分
                    break;
                }
            }
            if(str0.empty())
            {
                return "";
            }                       //判断输出是否为空
        }
        return str0;
    }
};

原文地址:https://www.cnblogs.com/wzhtql/p/10222074.html