Java教程

14. 最长公共前缀【测试岗常见算法题】

本文主要是介绍14. 最长公共前缀【测试岗常见算法题】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目

14. 最长公共前缀---频率5次

输入:strs = ["flower","flow","flight"] 输出:"fl"
输入:strs = ["dog","racecar","car"]
输出:""
测试用例:["reflower","flow","flight"]
测试结果:""

思路

这个没有模板思路。只是正常解题思路---对比基点,不断更新基点。
设置基点,然后不断循环string来比对基点。如果不是以基点开头的话,则就把基点从后往前减一。不断循环。直至结束

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length==0){return "";}
        if(strs.length==1){return strs[0];}
        String base = strs[0];
        int index = 1;
        while (index<strs.length){
            //对比base和strs[index]值,取公共值更新base
            int bal = base.length(); //拿到初始的基点长度
            for (int i = 0; i < bal; i++) {
                if(!strs[index].startsWith(base)){ //用字符串看是否是以基点开头的
                    base = base.substring(0, base.length()-1);
                }
            }
            index++;
        }
        return base;
    }
}
这篇关于14. 最长公共前缀【测试岗常见算法题】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!