p67 字符串最长公共前缀 (leetcode 14)

一:解题思路

Time:O(k*n),Spaec:O(1)

二:完整代码示例 (C++版和Java版)

C++:

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) 
    {
        if (strs.size() == 0) return "";

        string first = strs[0];
        
        for (int i = 0; i < first.size(); i++)
        {
            char c = first[i];

            for (int j = 1; j < strs.size(); j++)
            {
                if (i >= strs[j].size() || strs[j][i] != c)
                    return first.substr(0,i);
            }
        }

        return first;
    }
};

Java:

class Solution
{
    public String longestCommonPrefix(String[] strs)
    {
           if(strs==null||strs.length==0) return "";
           String first=strs[0];
           
           for(int i=0;i<first.length();i++)
           {
               char c=first.charAt(i);
               
               for(int j=1;j<strs.length;j++)
                   if(i>=strs[j].length() || strs[j].charAt(i)!=c)
                       return first.substring(0,i);
           }
           
           return first;
    }
}

 

posted @ 2020-03-20 17:07  repinkply  阅读(142)  评论(0)    收藏  举报