Longest Common Prefix - LeetCode

目录

题目链接

Longest Common Prefix - LeetCode

注意点

  • 考虑输入的字符串没有和只有一个的情况。

解法

解法一:先比较两个字符串得到他们的最长相同前缀,这就是答案就会是其他字符串和这个最长相同前缀的最长相同前缀。时间复杂度为O(nm)

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.size() == 0)
        {
            return "";
        }
        if(strs.size() == 1)
        {
            return strs[0];
        }
        string prefix="";
        int i,j,n = strs.size();
        for(i = 0;i < strs[0].length() && i < strs[1].length();i++)
        {
            if(strs[0][i] == strs[1][i])
            {
                prefix += strs[0][i];
            }
            else
            {
                break;
            }
        }
        for(i = 2;i < n;i++)
        {
            for(j = 0;j < prefix.length() && j < strs[i].length();j++)
            {
                if(prefix[j] != strs[i][j])
                {
                    break;
                }
            }
            prefix = prefix.substr(0,j);
        }
        return prefix;
    }
};

小结

  • 不知道排名在前面的那些大神是怎么做到的...

猜你喜欢

转载自www.cnblogs.com/multhree/p/10323357.html
今日推荐