最长公共前缀
今天的题目是力扣面试经典150题中的数组的简单题: 最长公共前缀
题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
- 示例:
- 输入:
[“flower”,“flow”,“flight”] - 输出:
“fl” - 解释:
公共前缀为"fl"。 - 输入:
[“dog”,“racecar”,“car”] - 输出:
“” - 解释:
没有公共前缀。
- 输入:
题目分析
题目要求我们找到一个字符串数组中的最长公共前缀。最长公共前缀指的是所有字符串共有的最长初始部分。也就是找出所有字符串中从第一位开始相同且不间断的字符。
没有想到特别的算法,只能使用暴力解法,两两互相比较前缀。注意是使用比较后的前缀与下一个元素进行比较。第一个元素默认前缀是自己。
解题思路
暴力解法-逐字符比较法:
- 定义第一个元素最为基础前缀(第一个元素前缀是自己)
- 从第二个元素开始循环数组,同时当前元素与当前前缀比较获取最新的前缀。
- 循环比较
- 返回公共前缀
实际算法代码
根据以上分析,我们可以写出以下代码:
package algorithm.day008;
public class LongestCommonPrefix {
public static void main(String[] args) {
LongestCommonPrefix solution = new LongestCommonPrefix(

最低0.47元/天 解锁文章
7万+

被折叠的 条评论
为什么被折叠?



