LeetCode 算法题 – Longest Common Prefix

编写一个方法返回字符串数组的最长公共前缀。

原题

Write a function to find the longest common prefix string amongst an array of strings.

分析

依据题意,需要注意以下几点:

  • 区分大小写
  • 空数组的处理

实现

func longestCommonPrefix(strs []string) string {
    if len(strs) == 0 {
        return ""
    }

    max := len(strs[0])

    for i := 1; i < len(strs); i++ {
        max = min(max, len(strs[i]))
        for j := 0; j < max; j++ {
            if strs[i][j] != strs[i-1][j] {
                max = j
                continue
            }
        }
    }

    return strs[0][:max]
}

func min(a, b int) int {
    if a > b {
        return b
    }

    return a
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据