IOS 算法(基础篇) ----- 最长公共前缀

2020-11-06  本文已影响0人  ShawnAlex

题目: 编写一个函数来查找字符串数组中的最长公共前缀。不存在公共前缀,返回空字符串 ""。

例如:

输入: ["flower","flow","flight"]
输出: "fl"

输入: ["dog","racecar","car"]
输出: ""

遍历法

1.特俗情况判断处理, 数组元素为0, 返回 "", 数组元素为1, 返回第一个数组元素
2.其他情况循环判断循环一个元素每个字符, 数组其他元素不包含result+新字符, 跳出循环result, 否则重复操作,继续循环

    func longestCommonPrefix(_ strs: [String]) -> String {
        
        var result = ""
        if strs.count == 0 {
            return "";
        }
        
        if strs.count == 1 {
            return strs[0];
        }
        
        for word in strs[0] {
            result = result + String(word)
            for i in 1..<strs.count {
                let str = strs[i]
                if !str.hasPrefix(result) {
                    result.removeLast()
                    return result
                }
            }
        }

        return result
    }

题目来源:力扣(LeetCode) 感谢力扣爸爸 :)
IOS 算法合集地址

上一篇 下一篇

猜你喜欢

热点阅读