14. 最长公共前缀

14. 最长公共前缀

Show me the code

swift 复制代码
class Solution {
    func longestCommonPrefix(_ strs: [String]) -> String {
        var ret = ""
        var stop = false
        let firstString = strs.first!
        guard !firstString.isEmpty else {
        	// 首个字符串是""
            return ""
        }
        var prefix = ""
        for maxLength in 1...firstString.count {
            prefix = String(firstString.prefix(maxLength))
            for str in strs {
                if !str.hasPrefix(prefix) {
                    ret = String(firstString.prefix(maxLength - 1))
                    stop = true
                    break
                }
            }
            if stop {
                break
            }
        }
        // 首个str整个都是前缀
        if !stop {
            ret = firstString
        }
        return ret
    }
}

运行结果

相关推荐
POLITE36 分钟前
Leetcode 160.相交链表 JavaScript (Day 9)
javascript·leetcode·链表
爱编程的小吴30 分钟前
【力扣练习题】热题100道【哈希】189. 轮转数组
算法·leetcode·哈希算法
leoufung44 分钟前
LeetCode 322. Coin Change:从错误思路到正确一维 DP
算法·leetcode·职场和发展
爱编程的小吴1 小时前
【力扣练习题】热题100道【哈希】560. 和为 K 的子数组
算法·leetcode·哈希算法
Swift社区1 小时前
LeetCode 463 - 岛屿的周长
算法·leetcode·职场和发展
POLITE32 小时前
Leetcode 240. 搜索二维矩阵 II JavaScript (Day 9)
javascript·leetcode·矩阵
leoufung2 小时前
LeetCode 64. Minimum Path Sum 动态规划详解
算法·leetcode·动态规划
一起养小猫2 小时前
LeetCode100天Day7-移动零与搜索插入位置
数据结构·算法·leetcode·指针
在风中的意志16 小时前
[数据库SQL] [leetcode-584] 584. 寻找用户推荐人
数据库·sql·leetcode
毅炼16 小时前
hot100打卡——day08
java·数据结构·算法·leetcode·深度优先