Description:
Write a function to find the longest common prefix string amongst an array of strings.
找到一个字符串数组中,所有元素字符串的公共前缀
解:
最简单的思路:从字符串数组的第一个字符串开始逐个和后一个字符串计算他们的公共前缀,最后返回。
更好的解法:参见 评论区
java代码:
class Solution {
public String longestCommonPrefix(String[] strs) {
String res = strs.length == 0 ?"":strs[0];
for(int i=1; i<strs.length; i++){
res = calcPre(res, strs[i]);
}
return res;
}
public String calcPre(String nowPre, String nowStr){
StringBuffer sb = new StringBuffer();
int a = nowPre.length() > nowStr.length()?nowStr.length():nowPre.length();
for(int i=0; i<a; i++){
if(nowPre.charAt(i) == nowStr.charAt(i)) sb.append(nowPre.charAt(i));
else break;
}
return sb.toString();
}
}