【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

posted @ 2020-05-11 20:49  millerkevin  阅读(91)  评论(0编辑  收藏  举报