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;
    }




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