diff --git a/website/content/ChapterFour/0001~0099/0014.Longest-Common-Prefix.md b/website/content/ChapterFour/0001~0099/0014.Longest-Common-Prefix.md index 5d276df5..c6354e45 100644 --- a/website/content/ChapterFour/0001~0099/0014.Longest-Common-Prefix.md +++ b/website/content/ChapterFour/0001~0099/0014.Longest-Common-Prefix.md @@ -40,27 +40,21 @@ If there is no common prefix, return an empty string "". package leetcode -import "sort" - func longestCommonPrefix(strs []string) string { - sort.Slice(strs, func(i, j int) bool { - return len(strs[i]) <= len(strs[j]) - }) - minLen := len(strs[0]) - if minLen == 0 { - return "" - } - var commonPrefix []byte - for i := 0; i < minLen; i++ { - for j := 1; j < len(strs); j++ { - if strs[j][i] != strs[0][i] { - return string(commonPrefix) + prefix := strs[0] + + for i := 1; i < len(strs); i++ { + for j := 0; j < len(prefix); j++ { + if len(strs[i]) <= j || strs[i][j] != prefix[j] { + prefix = prefix[0:j] + break } } - commonPrefix = append(commonPrefix, strs[0][i]) } - return string(commonPrefix) + + return prefix } + ```