编写一个方法返回字符串数组的最长公共前缀。
原题
Write a function to find the longest common prefix string amongst an array of strings.
分析
依据题意,需要注意以下几点:
- 区分大小写
- 空数组的处理
实现
1func longestCommonPrefix(strs []string) string {
2 if len(strs) == 0 {
3 return ""
4 }
5
6 max := len(strs[0])
7
8 for i := 1; i < len(strs); i++ {
9 max = min(max, len(strs[i]))
10 for j := 0; j < max; j++ {
11 if strs[i][j] != strs[i-1][j] {
12 max = j
13 continue
14 }
15 }
16 }
17
18 return strs[0][:max]
19}
20
21func min(a, b int) int {
22 if a > b {
23 return b
24 }
25
26 return a
27}