题解 | #最长公共前缀#

最长公共前缀

https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47

import java.util.*;


public class Solution {
    /**
     * 
     * @param strs string字符串一维数组 
     * @return string字符串
     */
    public String longestCommonPrefix (String[] strs) {

        // 整体判断
        if(strs.length == 0){
            return "";
        }

        // 使用集合来排序
        ArrayList<String> list = new ArrayList();

        for(String s : strs){
            list.add(s);
        }

        list.sort((s1,s2) -> {return s1.compareTo(s2);});

        // 排序后我们直接用第一个和最后一个比较获取最长公共前缀
        StringBuffer res = new StringBuffer();

        String s1 = list.get(0);
        String s2 = list.get(list.size()-1);

        // 符合条件加入,不符合跳出
        for(int i = 0;i < Math.min(s1.length(),s2.length());i++){
            if(s1.charAt(i) == s2.charAt(i)){
                res.append(s1.charAt(i));
            }else{
                break;
            }
        }

        return res.toString();

    }
}

全部评论

相关推荐

03-02 08:18
集美大学 Java
钱嘛数字而已:没有赛事奖项么?另外,项目经历字有点多哈,建议突出一下重点:用的什么技术,解决什么问题,达到什么效果。
大家都开始春招面试了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务