1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| func longestCommonPrefix(strs []string) string { if len(strs) == 1 { return strs[0] }
minLength := len(strs[0]) minIndex := 0 for i := 0; i < len(strs); i++ { if len(strs[i]) < minLength { minLength = len(strs[i]) minIndex = i } }
i := minLength - 1 for ; i >= 0; i-- { boolVar := true for j := 0; j < len(strs); j++ { if strs[j][:i+1] != strs[minIndex][:i+1] { boolVar = false break } }
if boolVar { break } }
if i < 0 { return "" }
return strs[minIndex][:i+1] }
|