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 协议 ,转载请注明出处!