一,题目
Write a function to find the longest common prefix string amongst an array of strings.
二,思路
使用StringBuffer存储相同的前缀.
使用暴力枚举的办法,每次取出一个字符串,然后都与第一个字符串的相同位置字符比较.相同则继续,否则返回StringBuffer存储的内容
三,代码
public String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length == 0) {
return "";
}
if (strs.length == 1) {
return strs[0];
}
StringBuffer sb = new StringBuffer();
int pointer = 0;
char temp = 0;
for (;;) {
if (pointer < strs[0].length()) {
temp = strs[0].charAt(pointer);
} else {
return sb.toString();
}
for (int i = 1, len = strs.length; i < len; i++) {
if (!(pointer < strs[i].length() && (temp == strs[i].charAt(pointer)))) {
return sb.toString();
}
if(i == strs.length-1){
sb.append(temp);
}
}
pointer++;
}
}