leetcode 14 Longest Common prefix

题目要求:获得一个字符串数组中最长的相同字符串前缀

tags:String

思路:

1.首先假设字符串数组中最长的字符串前缀为数组的第一个字符串,

2.再将改字符串前缀与字符串数组中第二个字符串比较,直到找出最长的字符串前缀,

3.循环2直到比完字符串数组中的所有值。

优化:

可以将字符串数组先进行排序,将字符串长度最短的排在前面,这样第一次假设的字符串前缀的平均长度要比排序前的短,可以少进行几次比较。

	public String longestCommonPrefix(String[] strs) {
		if(strs.length==0){
			return "";
		}
		Arrays.sort(strs);
		String pre = strs[0];
        for(int i=0;i<strs.length;i++){
        	while(strs[i].indexOf(pre)!=0){
        		pre = pre.substring(0, pre.length()-1);
        	}
        	if(pre==""){
        		break;
        	}
        }
        return pre;
    }




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章