一,题目
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++;
}
}
寻找最长公共前缀
本文介绍了一种通过暴力枚举来查找字符串数组中最长公共前缀的方法。利用StringBuffer存储相同的前缀,并逐个字符地与首个字符串进行比较,直至找到不匹配的字符或遍历完所有字符串。
281

被折叠的 条评论
为什么被折叠?



