LeetCode14、最长公共前缀

文章目录

题目描述

在这里插入图片描述

直接思维

class Solution {
    
    
      public String longestCommonPrefix(String[] strs) {
    
    
            if(strs==null||strs.length<1){
    
    
                return "";
            }
             if(strs.length==1){
    
    
                return strs[0];
            }
            int start = 0;
            while(start<strs[0].length()) {
    
    
                for (int i = 1; i < strs.length; i++) {
    
    
                    if(start>=strs[i].length())/*aa,a的情况*/
                        return strs[0].substring(0, start);
                    if (strs[i].charAt(start) != strs[0].charAt(start))
                        return strs[0].substring(0, start);
                }
                start++;
            }

            return strs[0].substring(0,start);
    }
}

复杂度分析:
时间复杂度:O(mn),其中 m 是字符串数组中的字符串的平均长度,n 是字符串的数量。最坏情况下,字符串数组中的每个字符串的每个字符都会被比较一次。

空间复杂度:O(1)。使用的额外空间复杂度为常数。

诡异的提交结果:
在这里插入图片描述

注意事项:

  • 1.边界问题
  • 2.数组越界问题

猜你喜欢

转载自blog.csdn.net/qq_44861675/article/details/108453892
今日推荐