Java教程

每天一道算法 20210726

本文主要是介绍每天一道算法 20210726,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目

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

示例:

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

 

分析

将第一个元素设为基准,从第二个元素开始,依次判断是否前缀为基准,进行判断。 

    public static String solution(String[] strs) {
        if (strs.length == 1){
            return strs[0];
        }

        String base = strs[0];
        int common = 0;
        boolean stop = false;

        for (int i = 1; i <= base.length(); i++){
            String temp = base.substring(0, i);
            for (int j = 1; j < strs.length; j++){
                if (strs[j].indexOf(temp) != 0){
                    stop = true;
                    break;
                }
            }
            if (stop){
                break;
            }
            common = i;
        }

        if (common == 0){
            return "";
        } else {
            return base.substring(0, common);
        }
    }

这篇关于每天一道算法 20210726的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!