力扣题解之:最长公共前缀

2021-03-01 14:30:50  卢浮宫  版权声明:本文为站长原创文章,转载请写明出处


一、题目


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

    示例 1:
        输入:strs = ["flower","flow","flight"]
        输出:"fl"
    示例 2:
        输入:strs = ["dog","racecar","car"]
        输出:""
        解释:输入不存在公共前缀。
 
    提示:
        0 <= strs.length <= 200
        0 <= strs[i].length <= 200
        strs[i] 仅由小写英文字母组成


二、解题思路

    

    ① 可以使用String.jindexOf()方法作为解题思路

    ② 如果数组为空时直接返回空字符串

    ③ 不为空时我们以第一个元素作为参照标准,来后其他元素进行比对

    ④ 遍历第一个元素中字符串,然后看是否存在于其他元素中的首位(indexOf()返回值为0)

    ⑤ 有任何一个不符合或第一个元素循环完毕时就终止匹配并返回


三、附相关代码


    class Solution {
public String longestCommonPrefix(String[] strs) {
if(null == strs || strs.length == 0){
return "";
}
String rlt = "";
int endIndex = 1;
while (endIndex <= strs[0].length()){
rlt = strs[0].substring(0,endIndex);
for(int j=1;j<strs.length;j++){
if(strs[j].indexOf(rlt) != 0){
return rlt.substring(0, rlt.length() - 1);
}
}
endIndex ++;
}
return rlt;
}
}

    更多精彩,请持续关注:guangmuhua.com


最新评论: