【LeetCode 14. Longest Common Prefix】

描述:

寫一個函數來查找字符串數組中的最長公共前綴。

如果不存在公共前綴,返回空字符串 “”。

示例1:

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

示例2:

輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。

注意:

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


Kotlin代碼實現

fun longestCommonPrefix(strs: Array<String>): String? {
    if (strs.isEmpty()) {
        return ""
    }
    if (strs.size == 1) {
        return strs[0]
    }
    val prefix = StringBuilder()
    var length = strs[0].length
    for (str in strs) {
        if (str.length < length) {
            length = str.length
        }
    }
    for (i in 0 until length) {
        val ch = strs[0][i]
        for (j in 1 until strs.size) {
            if (strs[j][i] != ch) {
                return prefix.toString()
            }
        }
        prefix.append(ch)
    }
    return prefix.toString()
}

參考:
https://leetcode.com/problems/longest-common-prefix

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章