概述
给出一个字符串数组。其目的是从该字符串数组中找出最长的共同前缀。 如果没有共同的前缀,它应该输出一个空字符串。
例子1
Input: ["fan", "fat", "fame"]
Output: "fa"
例子2
Input: ["bat", "van", "cat"]
Output: ""
程序
以下是相同的程序
package main
import "fmt"
func longestCommonPrefix(strs []string) string {
lenStrs := len(strs)
if lenStrs == 0 {
return ""
}
firstString := strs[0]
lenFirstString := len(firstString)
commonPrefix := ""
for i := 0; i < lenFirstString; i++ {
firstStringChar := string(firstString[i])
match := true
for j := 1; j < lenStrs; j++ {
if (len(strs[j]) - 1) < i {
match = false
break
}
if string(strs[j][i]) != firstStringChar {
match = false
break
}
}
if match {
commonPrefix += firstStringChar
} else {
break
}
}
return commonPrefix
}
func main() {
output := longestCommonPrefix([]string{"fan", "fat", "fame"})
fmt.Println(output)
output = longestCommonPrefix([]string{"bat", "van", "cat"})
fmt.Println(output)
}
输出。
"fa"
""