【力扣】14. 最长公共前缀

简介: 【力扣】14. 最长公共前缀

题目描述

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""


示例 1:


输入:strs = [“flower”,“flow”,“flight”]

输出:“fl”


示例 2:


输入:strs = [“dog”,“racecar”,“car”]

输出:“”

解释:输入不存在公共前缀。


提示:


1 <= strs.length <= 200

0 <= strs[i].length <= 200

strs[i] 仅由小写英文字母组成

解题方法

  • C
char * longestCommonPrefix(char ** strs, int strsSize)
{
    if(strsSize == 0)   // 无字符串直接返回
    {
        return "";
    }

    /* 纵向扫描,以第一个字符串为匹配对象,并保存最长公共前缀 */
    for(int i = 0; i < strlen(strs[0]); i++) // i 表示列
    {
        for(int j = 1; j < strsSize; j++)    // j 表示行
        {
            if(strs[0][i] != strs[j][i])     // 依次判断是否匹配
            {
                
                strs[0][i] = '\0';  // 匹配失败,得到公共前缀
            }
        }
    }
    
    return strs[0];
}


相关文章
|
5月前
|
机器学习/深度学习 Java
LeetCode 14. 最长公共前缀
LeetCode 14. 最长公共前缀
54 1
|
5月前
|
Python
leetcode-14:最长公共前缀
leetcode-14:最长公共前缀
38 0
|
12月前
【Leetcode-13.罗马数字转整数 -14.最长公共前缀】
【Leetcode-13.罗马数字转整数 -14.最长公共前缀】
43 0
|
2月前
|
算法
LeetCode第14题最长公共前缀
该文章介绍了 LeetCode 第 14 题最长公共前缀的解法,通过取一个字符串作为基准,一列一列字符比较来找出最长公共前缀,时间复杂度为 O(m * n),同时提到也可使用二分查找法,但代码复杂度会上升。
LeetCode第14题最长公共前缀
|
4月前
|
存储 算法 Java
【经典算法】LeetCode14:最长公共前缀(Java/C/Python3实现含注释说明,Easy)
【经典算法】LeetCode14:最长公共前缀(Java/C/Python3实现含注释说明,Easy)
21 1
|
4月前
|
算法
力扣经典150题第二十题:最长公共前缀
力扣经典150题第二十题:最长公共前缀
25 0
|
5月前
|
C++ 索引
【力扣经典面试题】14. 最长公共前缀
【力扣经典面试题】14. 最长公共前缀
|
5月前
|
算法 Java
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
38 0
|
5月前
|
Java
LeetCode题解-最长公共前缀-Java
最长公共前缀-Java
21 0
|
5月前
leetcode-2000:反转单词前缀
leetcode-2000:反转单词前缀
42 0
leetcode-2000:反转单词前缀