[LeetCode]Longest Common Prefix 最长公共前缀

简介: 链接:https://leetcode.com/problems/longest-common-prefix/#/description难度:Easy题目:14. Longest Common PrefixWrite a function to find the longest common prefix string amongst an array of strings.翻译:编写一个函数来查找给定字符串数组中最长的公共前缀。

链接https://leetcode.com/problems/longest-common-prefix/#/description
难度:Easy
题目:14. Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
翻译:编写一个函数来查找给定字符串数组中最长的公共前缀。
思路:取出给定字符串数组中长度最小的一个字符串(或者直接取出第一个字符串),以此为基准,遍历整个字符串数组,若基准字符串是其他所有字符串的子串,则基准字符串即为所求最长公共前缀,否则,将基准字符串截去最后一个字符,重新遍历整个字符串数组,依此类推,直到找到所有字符串数组都存在的子串为止。
参考代码
Java

public class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length == 0)
            return "";
        String prefix = strs[0];
        for (int i=1; i<strs.length; i++){
            while(strs[i].indexOf(prefix) != 0){
                prefix = prefix.substring(0, prefix.length() - 1);
                if (prefix.isEmpty())
                    return "";
            }
        }
        return prefix;  
    }
}
目录
相关文章
|
4月前
|
算法
Leetcode第十四题(最长公共前缀)
这篇文章介绍了一种算法,用于在给定的字符串数组中找到最长公共前缀,通过逐字符比较每个字符串的对应位置,一旦发现不匹配立即返回当前已匹配的子串作为公共前缀。
42 0
|
6月前
|
算法
LeetCode第14题最长公共前缀
该文章介绍了 LeetCode 第 14 题最长公共前缀的解法,通过取一个字符串作为基准,一列一列字符比较来找出最长公共前缀,时间复杂度为 O(m * n),同时提到也可使用二分查找法,但代码复杂度会上升。
LeetCode第14题最长公共前缀
|
8月前
|
算法
力扣经典150题第二十题:最长公共前缀
力扣经典150题第二十题:最长公共前缀
37 0
|
8月前
|
存储 算法 Java
【经典算法】LeetCode14:最长公共前缀(Java/C/Python3实现含注释说明,Easy)
【经典算法】LeetCode14:最长公共前缀(Java/C/Python3实现含注释说明,Easy)
66 1
|
9月前
【力扣】14. 最长公共前缀
【力扣】14. 最长公共前缀
|
9月前
|
C++ 索引
【力扣经典面试题】14. 最长公共前缀
【力扣经典面试题】14. 最长公共前缀
|
9月前
|
算法 Java
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
59 0
|
9月前
|
Java
LeetCode题解-最长公共前缀-Java
最长公共前缀-Java
34 0
|
9月前
leetcode-2000:反转单词前缀
leetcode-2000:反转单词前缀
59 0
leetcode-2000:反转单词前缀
|
9月前
|
Python
leetcode-14:最长公共前缀
leetcode-14:最长公共前缀
52 0