题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
题解
以第一个元素作为基准,按列遍历其余每一个元素。如果有不一样的,直接返回基准元素已经遍历过的部分。如果循环能结束,说明第一个元素就是最长公共前缀。
代码
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs == null || strs.length == 0) {
return "";
}
for(int i = 0; i < strs[0].length(); i++) {
for(int j = 1; j < strs.length; j++) {
if(i >= strs[j].length() || strs[j].charAt(i) != strs[0].charAt(i)) {
return strs[0].substring(0,i);
}
}
}
return strs[0];
}
}
知识点
1.String的substring方法,如果传入9,0,返回的是空字符串。传入1,1返回的也是空字符串。