码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode-- Longest Common Prefix

时间:2014-12-20 23:32:55      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:

题目:

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

第一种解决方案:

public class Solution {
    public  String longestCommonPrefix(String[] strs) {
	        int strslen=strs.length;
	        if(strslen==0) return "";
	       
	        String temp=null;
	        for(int i=0;i<strslen;i++){
	        StringBuilder sb=new StringBuilder();
	            if(i==0){
	                temp=strs[0];
	                continue;
	            }
	         int tlen=temp.length();
	         int ilen=strs[i].length();
	         int len=0;
	         len=(tlen>=ilen)?ilen:tlen;
	         for(int j=0;j<len;j++){
	             Character c=temp.charAt(j);
	             if(!c.equals(strs[i].charAt(j))){
	                 int sblen=sb.length();
	                 if(sblen==0) return "";
	                 break;
	             }else{
	                 sb.append(c);
	             }

	         } temp=sb.toString();
	        }
	        return temp;
	    }
}

经过思考,觉得完全没有必要引入StringBuilder,所以有了第二种解决方案并且效率较优。

第二种解决方案:

public class Solution {
    public  String longestCommonPrefix(String[] strs) {
	        int strslen=strs.length;
	        if(strslen==0) return "";
	       
	        String temp=strs[0];
	        for(int i=1;i<strslen;i++){
	         int tlen=temp.length();
	         int ilen=strs[i].length();
	         int len=0;
	         len=(tlen>=ilen)?ilen:tlen;
	         int j;
	         for( j=0;j<len;j++){
	             Character c=temp.charAt(j);
	             if(!c.equals(strs[i].charAt(j))){
	                 break;
	             }
	         }	
	         temp=temp.substring(0,j);
	        }
	        return temp;
	    }
}


LeetCode-- Longest Common Prefix

标签:

原文地址:http://blog.csdn.net/wj512416359/article/details/42048329

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!