题目描述
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。
代码
class Solution {
public String longestCommonPrefix(String[] strs) {
StringBuilder sb = new StringBuilder();
int n = strs.length, m = 0;
String s = "";
for(int i=0; i<n; i++){
if(strs[i].length()>m){
s = strs[i];
m = strs[i].length();
}
}
char[] c = s.toCharArray();
for(int i=0; i<m; i++){
boolean st = true;
for(String j : strs){
if(j.length()-1<i) {st = false; break;} //注意要特判短些的字符串已经被遍历完的情况
if(j.charAt(i)!=c[i]) st = false;
}
if(st) sb.append(c[i]);
else break;
}
return sb.toString();
}
}