题目
Write a function to find the longest common prefix string among an array of strings.
Subscribe to see which companies asked this question
思路
最长前缀,显然不可能比数组中任意一个字符串长。除去数组为空的特殊情况,选中第一个字符串,从该字符串的第一个字符起,依次判断剩余字符串是否存在对应下标的字符,如果不存在,返回0到该下标的子串,即为最长前缀。
代码
public class Solution {
public String longestCommonPrefix(String[] strs) {
int n = strs.length;
if (n == 0)
return "";
String str = strs[0];
int len = str.length(), i = 0;
for ( ; i < len; i++) {
for (int j = 1; j < n; j++) {
if (strs[j].length() < i + 1)
return str.substring(0, i);
if (str.charAt(i) != strs[j].charAt(i))
return str.substring(0, i);
}
}
return str;
}
}