随笔-求字符数组最长公共前缀

版权声明:中华人民共和国持有版权 https://blog.csdn.net/Fly_Fly_Zhang/article/details/85162515

题目:

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

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

示例 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||strs[0]==null){
            return "";
        }else if(strs.length==1){
            return strs[0];
        }
        int num=0;
        for(int i=0;i<strs[0].length();i++){
            for(int j=1;j<strs.length;j++){
              if(strs[j].length()-1<i  ||  strs[j].charAt(i)!=strs[0].charAt(i) ){
                     return strs[0].substring(0,num);
              }
            }
            num++;
        }
        return strs[0].substring(0,num);
    }
}

猜你喜欢

转载自blog.csdn.net/Fly_Fly_Zhang/article/details/85162515