编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
题解
先找到最短的字符串,然后逐步递减的找
func longestCommonPrefix(strs []string) string {
short := shortest(strs)
for i, j := range short {
for m := 0; m < len(strs); m++ {
if strs[m][i] != byte(j) {
return strs[m][:i]
}
}
}
return short
}
// 求出最短字符串
func shortest(strs []string) string {
if len(strs) == 0 {
return ""
}
res := strs[0]
for _, j := range strs {
if len(j) < len(res) {
res = j
}
}
return res
}