Advertisement
Guest User

Untitled

a guest
Apr 9th, 2020
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.77 KB | None | 0 0
  1. import "sort"
  2.  
  3. func longestCommonPrefix(strs []string) string {
  4.     if len(strs) == 0 {
  5.         return ""
  6.     }
  7.     if len(strs) == 1 {
  8.         return strs[0]
  9.     }
  10.     sort.Strings(strs)
  11.     var i = 0
  12.     var ans = ""
  13.     var prefix = ""
  14.     for i < len(strs[0]) {
  15.         prefix += string([]rune(strs[0])[i])
  16.         for _, str := range strs {
  17.             if !hasPrefix(str, prefix) {
  18.                 return ans
  19.             }
  20.         }
  21.         i++
  22.         ans = prefix
  23.     }
  24.     return ans
  25. }
  26.  
  27. func hasPrefix(s, p string) bool {
  28.     if len(p) > len(s) {
  29.         return false
  30.     }
  31.     var ss = []rune(s)
  32.     var pp = []rune(p)
  33.     for i := 0; i < len(pp); i++ {
  34.         if pp[i] != ss[i] {
  35.             return false
  36.         }
  37.     }
  38.     return true
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement