14-最长公共前缀

最长公共前缀

题目

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

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

示例1

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

示例2

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

说明:

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

思路

推荐参考领扣中的解法,方法比较多
标题

我的思路在于使用一个长度标示,长度为相等的字符长度,如果相等的字符长度已经比第一个或者后面任何一个的长度要长,则说明这个就已经是最长的长度了.此时的最长公共前缀就是0到此时的长度位置.

代码

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs == null || strs.length == 0){
            return "";
        }
        //长度标示
        int length = 0;
        boolean flag = true;
        while(flag && length < strs[0].length()){
            char first = strs[0].charAt(length);
            for(int i = 1;i= strs[i].length() || strs[i].charAt(length) != first){
                    flag = false;
                    break;
                }
            }
            if(flag){
                length++;  
            }
        }
        if(length == 0){
            return "";
        }else{
            return strs[0].substring(0,length);
        }
    }
}

你可能感兴趣的:(14-最长公共前缀)