leetcode之14最长公共前缀Golang
func longestCommonPrefix(strs []string) string {
longestStr := make([]byte, 0, 0)
index := 0
// 直接过滤边界条件[]
if len(strs) == 0 {
return string(longestStr)
}
for {
for _, str := range strs {
if index >= len(str) {
return string(longestStr)
}
// 在进行长度比较以后再获取当前字符,可以过滤边界条件[""]
tempChar := strs[0][index]
if tempChar != str[index] {
return string(longestStr)
}
}
longestStr = append(longestStr, strs[0][index])
index++
}
}
我做本题的思路是字符串数组的每个元素的字符串从前到后按照每个字符比较,如果相同,就在返回的结果字符串上面加上这个字符,否则就返回当前的最长公共前缀
这道题很简单,需要注意的就是边界条件,首先是如果字符串数组本来就是空的[],另一个就是字符串数组中包含了空字符串[""]
代码如下
浙公网安备 33010602011771号