zoukankan      html  css  js  c++  java
  • 最长公共前缀

    最长公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀。

    如果不存在公共前缀,返回空字符串 ""。

    示例 1:

    输入:strs = ["flower","flow","flight"]
    输出:"fl"
    

    示例 2:

    输入:strs = ["dog","racecar","car"]
    输出:""
    解释:输入不存在公共前缀。
    

    提示:

    • 0 <= strs.length <= 200
    • 0 <= strs[i].length <= 200
    • strs[i] 仅由小写英文字母组成

    答案

    func longestCommonPrefix(strs []string) string {
    	switch len(strs){
    	case 0:
    		return ""
    	case 1:
    		return strs[0]
    	}
    	// 找到最短的字符串作为基准
    	tag := func(strs []string)string{
    		s1 := ""
    		for _, s := range strs{
    			if s == ""{
    				return ""
    			}
    			if s1 == "" || len(s) < len(s1){
    				s1 = s
    			}
    		}
    		return s1
    	}(strs)
    
    	var s string
    	for i := 0; i < len(tag); i ++ {
    		// 定义基准的指定长度作为返回值
    		s = tag[0:len(tag)-i]
    		// 遍历切片中的每个元素,与s进行比较
    		for _, str := range strs{
    			if s != str[0:len(s)]{
    				s = ""
    				break
    			}
    		}
    		if s != ""{
    			return s
    		}
    	}
    	return s
    }
    
  • 相关阅读:
    杭电2063 过山车 匈牙利算法
    杭电2023 平均成绩
    leveldb性能分析
    linux下libreoffice安装测试
    iptables配置vsftp访问
    vsftp访问异常
    mysql二进制安装
    vi命令
    mysql配置优化
    rsync 配置
  • 原文地址:https://www.cnblogs.com/huiyichanmian/p/14340372.html
Copyright © 2011-2022 走看看