[leedcode 14] Longest Common Prefix

public class Solution {
    public String longestCommonPrefix(String[] strs) {
        //求公共子序列,公共子序列必须是str[0]的子串,因此本题是将每一个字符串按位和第一个字符串的每一位进行比较
        //如果发现不相匹配,则截取子串
        //时间复杂度为O(m*n)m为最终求的公共子串的长度,n为字符串数组的长度
        if(strs==null||strs.length<1)
               return "";
        for(int i=0;i<strs[0].length();i++){
            for(int j=1;j<strs.length;j++){
                if(strs[j].length()<=i||strs[j].charAt(i)!=strs[0].charAt(i)){//注意此处判断,先确定子串的长度是否>i
                    return strs[0].substring(0,i);
                }
                         
            }
 
        }
        return strs[0];
        
    }
}

 

你可能感兴趣的:(code)