算法 查找最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"
示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:

所有输入只包含小写字母 a-z 。

 public String longestCommonPrefix(String[] strs) {
        if(strs.length==0){
            return "";
        }
        //str取第一个下标的字符串 用来比较其他的字符串
        String str = strs[0];
        for(int i =1;i<strs.length;i++){
            //比较两个字符返回的是公共字符第一个的下标
            //如果不等0说明没有找到公共前缀
            while(strs[i].indexOf(str) !=0){
                //每次循环取减去后一位数 直到公共前缀退出循环
                str = str.substring(0,str.length() - 1);
            }
        }
        return str;
    }
发布了28 篇原创文章 · 获赞 24 · 访问量 1080

猜你喜欢

转载自blog.csdn.net/qq_42305209/article/details/103427833