1. 程式人生 > >Swift 最長公共字首 - LeetCode

Swift 最長公共字首 - LeetCode

編寫一個函式來查詢字串陣列中的最長公共字首。

如果不存在公共字首,返回空字串 ""。

示例 1:

輸入: ["flower","flow","flight"]

輸出: "fl"

示例 2:

輸入: ["dog","racecar","car"]

輸出: ""

解釋: 輸入不存在公共字首。

說明:

所有輸入只包含小寫字母 a-z 。

 

class Solution {
    func longestCommonPrefix(_ strs: [String]) -> String {
        let count = strs.count

        if count == 0 {
            return ""
        }

        if count == 1 {
            return strs.first!
        }
        var result = strs.first!
        for i in 1..<count {
            while !strs[i].hasPrefix(result) {
                result = String(result.prefix(result.count - 1))
                if result.count == 0 {
                    return ""
                }
            }
        }
        return result
    }
}