博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Longest Common Prefix
阅读量:6223 次
发布时间:2019-06-21

本文共 1221 字,大约阅读时间需要 4 分钟。

Problem

Write a function to find the longest common prefix string amongst an array of strings.

Note

我的思路是用StringBuilderstrs中的字符串逐个遍历第i位的字符,如果都相同,就把这个字符存入sb,否则返回已有的sb字符串。

注意,第二层for循环的条件:i的值不能大于str.length()-1

Solution

class Solution {    public String longestCommonPrefix(String[] strs) {        if (strs == null || strs.length == 0) return "";        int len = strs[0].length();        StringBuilder sb = new StringBuilder();        for (int i = 0; i < len; i++) {            for (String str: strs) {                if (str.length() < i+1 || str.charAt(i) != strs[0].charAt(i)) {                    return sb.toString();                }            }            sb.append(strs[0].charAt(i));        }        return sb.toString();    }}

Update 2018-8

class Solution {    public String longestCommonPrefix(String[] strs) {        if (strs == null || strs.length == 0) return "";        Arrays.sort(strs);        //compare strs[0] and strs[strs.length-1], since they should be the most different pair        int i = 0, len = strs.length;        while (i < Math.min(strs[0].length(), strs[len-1].length()) && strs[0].charAt(i) == strs[len-1].charAt(i)) {            i++;        }        return strs[0].substring(0, i);    }}

转载地址:http://pygja.baihongyu.com/

你可能感兴趣的文章
关于Android Gradle你需要知道这些(4)
查看>>
【友盟+】首创SDK自动化测试框架,解决SDK测试痛点
查看>>
程序的基本形状
查看>>
常用css3整理
查看>>
算法(第四版) 自学笔记 1
查看>>
【Chrome扩展开发】定制HTTP请求响应头域
查看>>
Android-IM从零开始开发一个即时通讯项目
查看>>
你不知道的JSON.stringify()妙用
查看>>
[译]Vue 2.5中即将推出的TypeScript变化
查看>>
HTML5存储方式
查看>>
最优方案实现同步数据至HUBSPOT
查看>>
vue应用产品之iShow H5编辑器
查看>>
阿里云前端周刊 - 第 17 期
查看>>
是谁传给了constructor参数
查看>>
canvas之路径绘制
查看>>
兼容ie9以下的polyfill类库
查看>>
使用Element-ui开发管理后台
查看>>
基于HTML5快速搭建TP-LINK电信拓扑设备面板
查看>>
IMWeb前端提升营七天学习总结
查看>>
unix文件描述符
查看>>