最长公共前缀

265 阅读1分钟
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1:

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

输出: "fl"

示例 2: 输入: ["dog","racecar","car"]

输出: ""

解释: 输入不存在公共前缀。

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

class Solution {
    String[] strr;
    public String longestCommonPrefix(String[] strs) {
        int min = 10000; int flag = 0;
        if(strs.length == 0){
            return "";
        }
        for(int i =0; i< strs.length; i++){
            if(strs[i].length() < min){
                flag = i;
                min = strs[i].length();
            }
        }
        this.strr = strs;
        
        for(int i = strs[flag].length(); i>=0 ; i--){
            String temp = strs[flag].substring(0,i);
            if(pan(temp)){
                return temp;
            }
        }
        return "";
    }
    
   public boolean pan(String temp ){
       for(int i =0 ; i < strr.length; i++){
           if(!strr[i].startsWith(temp)){
               return false;
           }
       }
       return true;
   }
}