编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “"。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
思路:
现在只想到暴力方法,对几个字符串遍历判断,如果相等,则记录下,如果不相等,则停止。特殊情况,只输入一个字符串的时候,此时,返回本身
golang实现版本#
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
|
func longestCommonPrefix(strs []string) string {
if len(strs) == 0 {
return ""
}
if len(strs) == 1 {
return strs[0]
}
var commPrefix string
for _,v := range strs[0] {
hasPrefix := true
tempPrefix := commPrefix + string(v)
for i := 1; i < len(strs); i ++ {
if !strings.HasPrefix(strs[i], tempPrefix){
hasPrefix = false
break
}
}
if hasPrefix{
commPrefix = tempPrefix
}else{
break
}
}
return commPrefix
}
|