ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-04-13 22:35:19  阅读:121  来源: 互联网

标签:index return String strs 前缀 --- 算法 基点 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;
    }
}

标签:index,return,String,strs,前缀,---,算法,基点,14
来源: https://www.cnblogs.com/wfer/p/14655589.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有