最长公共前缀
作者:
韩小禹 | 来源:发表于
2020-03-15 23:47 被阅读0次package main
import "fmt"
func LongestCommonPrefix(strArr []string) string {
arrLen := len(strArr)
if arrLen == 0 {
return ""
}
//先找出数组中最短的那个字符串,因为最长公共前缀的长度一定是小于或者等于最短的那个字符串的长度
shortStr := strArr[0]
for x := 1; x < arrLen; x++ {
if len(strArr[x]) < len(shortStr) {
shortStr = strArr[x]
}
}
//然后根据最短字符串的个数遍历
for k, v := range shortStr {
for j := 0; j < arrLen; j++ {
if strArr[j][k] != byte(v) {
return string(strArr[j][:k])
}
}
}
return shortStr
}
func main() {
str := []string{"flower", "flow", "flight", "f"}
res := LongestCommonPrefix(str)
fmt.Println(res)
}
本文标题:最长公共前缀
本文链接:https://www.haomeiwen.com/subject/dogiehtx.html
网友评论