码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2021-04-14 12:18:53      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:code   ble   ase   ems   flight   problems   tps   common   测试用例   

题目

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. 最长公共前缀【测试岗常见算法题】

标签:code   ble   ase   ems   flight   problems   tps   common   测试用例   

原文地址:https://www.cnblogs.com/wfer/p/14655589.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!