14. Longest Common Prefix
2016-04-10 02:42
232 查看
Write a function to find the longest common prefix string amongst an array of strings.
public class Solution { public String longestCommonPrefix(String[] strs) { int len = strs.length; if(len == 0) return ""; if(len == 1) return strs[0]; int minlen = 0x7fffffff;//0x7fffffff long int最大值 for(int i = 0; i < len; i++) minlen = Math.min(minlen, strs[i].length()); for(int j = 0; j < minlen; j++) for(int i =0; i < len; i++) if (strs[0].charAt(j) != strs[i].charAt(j)) return strs[0].substring(0,j); return strs[0].substring(0,minlen); } } //该算法打败了68%左右的人,利用字符串横向比较,来寻找最小的前缀。
public class Solution { public String longestCommonPrefix(String[] strs) { int n=strs.length; if(n==0) return ""; StringBuilder st=new StringBuilder(strs[0]); for(int i=1;i<n;i++){ while(!strs[i].startsWith(st.toString())) st.deleteCharAt(st.length()-1);//跟第一个字符串比较,不一样则删最后一位。 } return st.toString(); } } //该算法击败了88%左右的人,个人认为验证的数据较多时,算法没有问题,但是验证的数据比较少且比较极端,可能会出错,不知道我想的对不对,反正有疑惑。
相关文章推荐
- 第四次作业 计算器第二部分(未完)
- 配置自己的yum源服务器
- 【Swift学习】Swift编程之旅(三)
- 第四次作业 计算器第二部分(未完)
- 简转繁等中文转换(Golang)
- (转) 寄存器、RAM、ROM、Flash相关概念区别整理
- uploadify 上传出现 security error错误的解决方法
- 将.jsp文件放入Jsp文件夹后引发的404错误。
- CentOS7 Docker安装操作以及基本命令
- Java注释和javadoc工具
- ntpdate -u ntp.api.bz
- (String) 205.Isomorphic Strings
- 邮件接收POP3协议简单介绍
- 简单说说TCP(4) --- SYN攻击
- 第六周作业
- 如何将 word 文件转换为 markdown 文件
- shell之lsof(list open file)
- 在Centos上运行不同版本C++运行库的解决办法
- gcc的简单使用
- 在手机上运行React Native