最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,则返回""
示例1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释:
思路:循环遍历字符串数组,假设第一个字符串为最长前缀,判断该字符串是否为其他字串的前缀,若不是则除去最后一个字符继续判断。
代码:
package main
import (
"strings"
"fmt"
)
func main() {
strs := []string {
"flower",
"flow",
"flight",
}
fmt.Println(longestCommonPrefix(strs))
}
func longestCommonPrefix(strs []string) string {
if len(strs) == 0 {
return ""
}
var str string
for _, k := range strs {
if len(k) == 0 {
return ""
}
str = strs[0]
for !strings.HasPrefix(k, str) {
str = str[:len(str)-1]
}
if len(str) == 0 {
return ""
}
}
return str
}
```