編寫一個方法返回字符串數組的最長公共前綴。
原題
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}