【力扣】难度【简单】14. 最长公共前缀

标题:14. 最长公共前缀
难度:简单

描述:

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

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

示例 1:

输入: strs = [“flower”,“flow”,“flight”]
输出: “fl”

示例 2:

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

提示:

1 <= strs.length <= 200
0 <= strs[i].length <= 200 strs[i]
仅由小写英文字母组成

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/roman-to-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

执行结果: 通过
执行用时: 9 ms, 在所有 Java 提交中击败了8.68%的用户
内存消耗: 38.5 MB, 在所有 Java 提交中击败了5.53%的用户
通过测试用例: 123 / 123

题解:

class Solution {
    public String longestCommonPrefix(String[] strs) {
         //记录匹配值
        String temp = "";
        if(strs == null || strs.length == 0){
            //空数据返回处理
            return temp;
        }
        //用于记录最小长度字符串位置
        int index = 0;
        //用于记录最小长度字符串值
        String mineStr = strs[index];
      
      //遍历取出最小字符串
        for(int x = 1;x < strs.length;x++){
            if(strs[x].length()<mineStr.length()){
                index = x;
            }
        }

        //最短字符串
         mineStr = strs[index];

        //["stirng","srtini","see"]
        //  mineStr = see
        //  index = 2
        //                第一次循环 第二次循环
        //                 x = 0    x=1   
        // see             s        e
        //stirng           s        e!=t(不符合返回temp=“s”)
        //srtini           s    
        //mineCharj =      s     
        //temp =       "" + ”s“ =”s“
        for(int j = 0;j < mineStr.length(); j++){
            // 最短字符串 第j个字母
            char mineCharj = mineStr.charAt(j);
            //遍历字符串数组
            //这里主要纵向遍历
           
             
            for(int x = 0;x < strs.length;x++){
                //第x个 字符串
                String strx = strs[x];
                //index == x :代表是我们记录的字符串不需要对比,判断下一个字符串前缀
                //strx.charAt(j) == mineCharj: 说明公共前缀匹配,进入下一个判断
               if(index == x || (strx.charAt(j) == mineCharj)){
                   //匹配进行下一个判断
                    continue;
               }else{
                   //不匹配,说明当前记录的temp是公共前缀
                   return temp;
               }
            }
            //遍历字符串数组后匹配   拼接匹配的值
            temp = temp + mineCharj;

        }
        //最后返回配置值
        return temp;
      
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Crazy丶code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值