Leetcode14. 最长公共前缀

题目

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

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

示例 1:

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

示例 2:

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

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

所有输入只包含小写字母 a-z 。

Swift解法

class Solution {
        func longestCommonPrefix(_ strs: [String]) -> String {
            if strs.isEmpty {return ""}
            var prefix = ""
            var i = 0
            loop: while true {
                var character: Character?
                for str in strs {
                    if i >= str.count {
                        break loop
                    }
                    if character == nil {
                        character = str[str.index(str.startIndex, offsetBy: i)]
                    } else {
                        if str[str.index(str.startIndex, offsetBy: i)] != character {
                            break loop
                        }
                    }
                }
                if let character = character {
                    prefix.append(character)
                }
                i += 1
            }
            return prefix
        }
    }

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

你可能感兴趣的:(Leetcode14. 最长公共前缀)