14.最长公共前缀

题目:

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。

示例:

示例 1:输入: ["flower","flow","flight"];输出: "fl"
示例 2:输入: ["dog","racecar","car"];输出: "";解释: 输入不存在公共前缀。

解答:

public static String longestCommonPrefix(String[] strs) {
        //字符串为空
        if (strs == null || strs.length == 0)
            return "";
        //字符串长度只有1,返回这个字符串就可以为空
        if (strs.length == 1) {
            return strs[0];
        }
        
        
        int minLength = strs[0].length();
        for (int i = 0; i < strs.length; i++) {
            //获得最短字符串长度就可以
            minLength = Math.min(minLength, strs[i].length());
        }
        //如果字符串数组中有一个字符串为空,则整体返回空
        if (minLength == 0) {
            return "";
        }
        String rString = "";
        //公共前缀的最长长度为最短字符串长度
        for (int i = 0; i < minLength; i++) {
            //遍历字符串数组
            for (int j = 1; j < strs.length; j++) {
                //只需要判断后面 每一个与第一个是否相同就可以,不需要前一个与后一个两两相比
                //不相等就返回
                if (strs[0].charAt(i)!=strs[j].charAt(i))
                    return rString;
            }
            //相等就拼接上
            rString += strs[0].charAt(i);
        }
        return rString;
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问题链接 题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1...
    zhyee_yan阅读 3,146评论 0 0
  • 内容 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:...
    吃饭用盘装阅读 2,118评论 0 0
  • 14. 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。例1:输...
    杏仁小核桃阅读 1,544评论 0 1
  • 题目描述:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输...
    大数据Zone阅读 2,755评论 0 1
  • 14.最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 示例1...
    不爱去冒险的少年y阅读 1,841评论 0 0

友情链接更多精彩内容