Longest Common Prefix

来源:互联网 发布:小额借钱软件排名 编辑:程序博客网 时间:2024/05/19 05:29

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


总之不难,但是脑袋要清醒..

代码:

public class Solution {     public String longestCommonPrefix(String[] strs) {       String res =""; if(strs.length == 0){ return ""; } if(strs.length ==1){ return strs[0]; } int p1 =0,p2 = strs.length-1;//控制在线性时间,好像是不可能的。。  int len = strs[0].length()>strs[1].length()?strs[1].length():strs[0].length(); for(int i=0;i<len;i++){ if(strs[0].charAt(i) == strs[1].charAt(i)){ res += strs[0].charAt(i); }else break; }// System.out.println(res); //已经找到了一个公共子序列,判断会不会变得更短 for(int i = 2;i<strs.length;i++){  int len2 = res.length()>strs[i].length()?strs[i].length():res.length(); System.out.println("len2 :"+len2);if(len2 == 0){return "";}//如果已有的字符比要比较的字符长,截取if(len2 < res.length()){res = res.substring(0, len2);} for(int j=0;j<len2;j++){   if(res.charAt(j)!=strs[i].charAt(j)){     if(j==0){ return ""; } res = res.substring(0, j); break; }    }  } return res;    }}


0 0