14. 最长公共前缀
最长公共前缀
题目描述:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,”flow”,”flight”]
输出:”fl”
示例 2:
输入:strs = [“dog”,”racecar”,”car”]
输出:””
解释:输入不存在公共前缀。
思路:
先判断各个数是不是空,找出各个数中长度最小的数,之后就每次循环判断一位,记得长度超过最小长度就return
代码:
func longestCommonPrefix(strs []string) string {
var min int
var maxstr []byte
var i,line int
min =999
for j:=0;j<len(strs);j++{
if strs[j]==""{
return ""
}else{
if min>len(strs[j]){
min = len(strs[j])
}
}
}
if len(strs)==1{
return strs[0]
}
for {
if line==min{
break
}
for i=1;i<len(strs);i++{
if strs[0][line]!=strs[i][line]{
break
}
}
if i!=len(strs){
break
}else{
maxstr = append(maxstr,strs[0][line])
line++
}
}
return string(maxstr)
}
代码效率:
执行用时:0 ms, 在所有 Go 提交中击败了100.00%的用户
内存消耗:2.3 MB, 在所有 Go 提交中击败了32.68%的用户
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!