LeetCode——Longest Common Prefix

时间:2024-04-30 07:18:05

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

写一个函数找出字符串数组中的最长共现前缀字符串。

思路:共现。即要求数组中的所有元素的前缀中都要出现。所以所得的结果肯定是最短字符串的部分或所有或都不是,总之要以最短字符串为基准与其它字符串比較。

	public static String longestCommonPrefix(String[] strs){
int len = strs.length;
if(len <= 0)
return "";
if(len == 1)
return strs[0];
int minlen = strs[0].length();
String temp = strs[0];
//找出一个长度最短的字符串
for(int i=1;i<len;i++){
if(strs[i].length() < minlen){
minlen = strs[i].length();
temp = strs[i];
}
}
int i=0,j = 0;
StringBuffer buf = new StringBuffer();
while(j < temp.length()){
for(i=0;i<strs.length;i++){
if(strs[i].charAt(j) != temp.charAt(j))
break;
}
if(i < len)
break;
buf.append(temp.charAt(j));
j++;
}
return buf.toString();
}