力扣经典题目之14. 最长公共前缀
今天继续给大家分享一道力扣的做题心得今天这道题目是14. 最长公共前缀 - 力扣(LeetCode)
题目如下
1,题目分析
题目给出了一个字符串数组,我们需要找出这个数组中所有字符串元素的最长的公共前缀字符,公共前缀和即为这个字符串数组中所有字符串元素从前往后都有的最长的子串,例子如上面题目介绍所示,题目不难我们现在立刻开始解题,下面首先给出题解代码
2,解题思路
class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length == 0) return "";
String max = ""; // 显式初始化
// 以第一个字符串为基准
for (int y = 0; y < strs[0].length(); y++) {
char currentChar = strs[0].charAt(y);
// 遍历其他字符串的相同位置字符
for (int x = 1; x < strs.length; x++) {
// 如果其他字符串长度不足或字符不匹配,直接返回当前结果
if (y >= strs[x].length() || strs[x].charAt(y) != currentChar) {
return max;
}
}
max += currentChar; // 所有字符串该位置字符相同,加入结果
}
return max;
}
}
我们以逐个遍历数组,以第一个字符串为基准开始,获取从头开始的每一个字符,然后通过遍历判断当前获取的这个字符是否每一个字符串都有,如果有字符串没有此字符则就可以直接返回结果了
4,总结
感谢大家的阅读,希望这篇解题心得能为大家带来一些收获,我们共同进步!大家的点赞就是我的动力谢谢大家,还有什么更优解或者问题欢迎大家在评论区讨论分享!