美文网首页力扣 初级算法 全套力扣精解
初级算法-字符串-最长公共前缀

初级算法-字符串-最长公共前缀

作者: coenen | 来源:发表于2021-08-24 07:33 被阅读0次
    编写一个函数来查找字符串数组中的最长公共前缀。

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

    提示:

    1 <= strs.length <= 200
    0 <= strs[i].length <= 200
    strs[i] 仅由小写英文字母组成

    摘一个示例做个说明.
    示例 1:
    输入:strs = ["flower","flow","flight"]
    输出:"fl"
    
    条件分析:
    1. 这个和strStr()很像.一个是两个字符串比较,一个是所有字符串比较.
    2. 公共前缀 -> 就是所有字符串都是以这个开头
    解决思路1:
    1. 根据分析1,可以采用分次比较的方法
    2. 根据分析2,可以采用第一个字符串作为基准就行比较
    先判断是否是空数组,然后以第一个字符串为基准进行比较,如果不存在的话则删除基准的最后一个字符.
    func longestCommonPrefix(_ strs: [String]) -> String {
        guard strs.count > 0 else {return ""}
        var result = strs[0]
        for (i,str) in strs.enumerated() {
            if i==0 {continue}
            while !str.hasPrefix(result) {
                result.removeLast()
            }
        }
        return result
    }
    

    测试用例:

    let array = ["t1q","tat6981","t345"]

    考察要点:

    • 字符串

    相关文章

      网友评论

        本文标题:初级算法-字符串-最长公共前缀

        本文链接:https://www.haomeiwen.com/subject/axkjbltx.html