Question

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

Solution

第一思路是用Trie,但是对于一道Easy类别的题目,用Trie显然是杀鸡用牛刀。

于是我们可以参考到构造Trie的过程,来找这个最长prefix。

我们先用String array中第一个String初始化Pre,然后遍历剩下的每一个String,找重合的终点,删除不重合的部分。

 public class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length < 1) {
return "";
}
int length = strs.length;
int initLen = strs[0].length();
StringBuilder result = new StringBuilder(initLen);
for (int i = 0; i < initLen; i++) {
result.append(strs[0].charAt(i));
}
for (int i = 1; i < length; i++) {
String curString = strs[i];
initLen = result.length();
for (int j = 0; j < initLen; j++) {
if (j < curString.length() && curString.charAt(j) == result.charAt(j)) {
continue;
}
result.delete(j, initLen);
break;
}
}
return result.toString();
}
}

更简单的方法是用String.indexOf()的方法来判断重合终点。

 public class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length < 1) {
return "";
}
int length = strs.length;
int initLen = strs[0].length();
String prev = strs[0];
for (int i = 0; i < length; i++) {
String curString = strs[i];
while (curString.indexOf(prev) != 0) {
prev = prev.substring(0, prev.length() - 1);
}
}
return prev;
}
}

最新文章

  1. 高访问量WEB开发中的架构模式,学习从点滴开始
  2. thinkphp基于角色的权限控制详解
  3. java 中变量的存储与引用
  4. 百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明
  5. Web:AJAX的详解
  6. RAII惯用法详解
  7. mysql 大数据量求平均值
  8. 为php安装memcached扩展连接memcached服务器
  9. [转]Linux文件和目录操作命令
  10. Web Server 和 HTTP 协议
  11. 宏HASH_GET_FIRST
  12. Stage3D学习笔记(五):通过矩阵操作纹理
  13. Python之路【第一篇】:Python前世今生
  14. 对config配置文件的读取和修改
  15. 在cmd中输入ls命令出现“ls不是内部或外部命令解决
  16. go get 代理设置
  17. 多云时代,海外微软Azure云与国内阿里云专线打通性能测试
  18. [笔记]我的Linux入门之路 - 03.Java环境搭建
  19. Hybrid App混合模式开发的了解
  20. ORACLE数据库管理常用查询语句

热门文章

  1. java_接口的应用
  2. eclipse中使用git提交代码到github
  3. Bootstrap--本地安装使用
  4. python下载多个文件
  5. c++读取ccbi
  6. C-二维数组,多维数组
  7. Web Api 跨域解决方案
  8. highcharts的使用
  9. 如何在Silverlight应用程序中获取ASP.NET页面参数
  10. silverlight visifire控件图表制作——silverlight 后台方法打印