百木园-与人分享,
就是让自己快乐。

每日算法之14. 最长公共前缀

14. 最长公共前缀

题目描述

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

方法 暴力算法

先判断字符串数组是否有为空,为空直接返回空
令第一个字符串作为基准进行比较
设置一个长度,作为最后最长公共前缀的长度
循环判断,选取最小长度

代码

package easy.最长公共前缀14;

class Solution {
    public String longestCommonPrefix(String[] strs) {
        //如果为空,直接返回空
        if (\"\".equals(strs[0])) return \"\";
        //第一个作为基准进行比较
        String s = strs[0];
        //记录最长公共前缀的长度
        int len = s.length();
        for (int i = 1; i < strs.length; i++) {
            int l = 0;
            if (\"\".equals(strs[i])) return \"\";
            int length = Math.min(s.length(), strs[i].length());
            for (int j = 0; j < length; j++) {
                if (s.charAt(j) == strs[i].charAt(j)) {
                    l++;
                } else {
                    break;
                }
            }
            if (l < len) len = l;

        }
        return s.substring(0, len);
    }

}

来源:https://www.cnblogs.com/loongnuts/p/17037153.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 每日算法之14. 最长公共前缀