14. 最长公共前缀
查看题目简单
数组
字符串
低频
解法一:迭代法
时间复杂度:O(S) | 空间复杂度:O(1) | 推荐使用
动画演示
准备就绪 - 输入字符串列表(用逗号分隔),然后点击开始
代码实现
class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs.length <= 0) {
return "";
}
String ans = strs[0];
for (int i = 1; i < strs.length; i++) {
int j = 0;
while (j < strs[i].length() && j < ans.length()) {
if (strs[i].charAt(j) != ans.charAt(j)) {
break;
}
j++;
}
if (j < ans.length()) {
ans = strs[i].substring(0, j);
if (ans.equals("")) {
return ans;
}
}
}
return ans;
}
}时间复杂度:O(S)
空间复杂度:O(1)
以第一个字符串作为初始公共前缀,然后依次与后面的每个字符串进行比较,逐步缩短公共前缀直到找到所有字符串的最长公共前缀。