From 18fed346fbfab722d8ce9992242ff9c0fbec7b59 Mon Sep 17 00:00:00 2001 From: terminaldweller Date: Mon, 15 Sep 2025 22:08:31 -0400 Subject: 14 --- 14/main.go | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 14/main.go diff --git a/14/main.go b/14/main.go new file mode 100644 index 0000000..f22304a --- /dev/null +++ b/14/main.go @@ -0,0 +1,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)) +} -- cgit v1.2.3