1、题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
2、实现代码
思路见于注释
class Solution {
public String longestCommonPrefix(String[] strs) {
//如果数组为0,直接返回
if(strs.length==0)return "";
//以提供的字符串组中的第一个串为基准
String s=strs[0];
//依次遍历所有串
for (String string : strs) {
//startsWith()是String类里面的方法
//测试此字符串是否以指定的参数作为前缀开头,返回值是Boolean类型。
while(!string.startsWith(s)){
//当多个字符串中至少有一个“”时候,说明没有公共前缀
if(s.length()==0)return "";
//这里的s一开始是数组中第一个字符串
//随着不匹配的次数,第一个字符串的长度依次减小,然后参与下次比较
s=s.substring(0,s.length()-1);
}
}
return s;
}
}
3、实现结果
实现算法的时间复杂度是n级别。