题目描述
编写一个函数来查找字符串数组中最长的公共前缀字符串。
解题思路分析
1.检查字符串数组是否为空,或者数组长度是否为0;如果是,就返回"";
2.创建字符串pre = strs[0],先假定它为该字符串数组的最长公共前缀;
3.变量字符串数组的每个字符串;对于每个字符串,检查pre是否是它的前缀(从0开始);
如果是,就遍历下一个字符串;
如果不是,就让pre的长度减1;
public String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length == 0){
return "";
}
String pre = strs[0];
int i = 0;
int len = strs.length;
while(i< len){
while (strs[i].indexOf(pre) != 0){
//indexOf:返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
//pre不是strs[i]的前缀,就缩小pre的范围
pre = pre.substring(0,pre.length()-1); //注意这个位置
}
i++;
}
return pre;
}