题目
Write a function to find the longest common prefix string amongst an array of strings.
思路
首先找出数组的String最小长度,避免index越界。之后从i=0开始遍历所有数组中的String的i位,检查是否相等,若相等则最大前缀+1,若不相等则退出循环,返回最大前缀
代码
public class Solution {
public String longestCommonPrefix(String[] strs) {
int i = 0;
String lcp = "";
if(strs.length == 0) return lcp;
int minLength = strs[0].length();
for(int j = 0 ; j < strs.length ; ++ j){
if(strs[j].length() < minLength) minLength = strs[j].length();
}
while(i < minLength){
char c = strs[0].charAt(i);
int flag = 1;
for(int j = 0 ; j < strs.length ; ++ j){
if(strs[j].charAt(i) != c){
flag = 0 ;
break;
}
}
if(flag == 0) break;
if(flag == 1){
lcp = lcp + c;
++i;
}
}
return lcp;
}
}