blob: f22304a482ef98975ab8121fdadf5ce7f00f195b (
plain) (
blame)
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
38
39
40
|
package main
import "fmt"
func longestCommonPrefix(strs []string) string {
longestPrefix := strs[0]
for _, element := range strs {
for index, char := range element {
if len(longestPrefix) == 0 {
break
}
if index > len(longestPrefix)-1 {
// longestPrefix = longestPrefix[0 : index-1]
// fmt.Println("XXX:", longestPrefix)
break
}
if byte(char) != longestPrefix[index] {
longestPrefix = longestPrefix[0:index]
}
}
if len(longestPrefix) > len(element) {
longestPrefix = longestPrefix[0:len(element)]
}
// fmt.Println(longestPrefix)
}
return longestPrefix
}
func main() {
strs := []string{"flower", "flow", "flight"}
fmt.Println(longestCommonPrefix(strs))
strs2 := []string{"dog", "racecar", "car"}
fmt.Println(longestCommonPrefix(strs2))
strs3 := []string{"ab", "a"}
fmt.Println(longestCommonPrefix(strs3))
strs4 := []string{"aaa", "aa", "aaa"}
fmt.Println(longestCommonPrefix(strs4))
}
|