• LeetCode -- 14 最长公共前缀


    题目描述:

    编写一个函数来查找字符串数组中的最长公共前缀。
    
    如果不存在公共前缀,返回空字符串 ""。
    
    示例 1:
    
    输入: ["flower","flow","flight"]
    输出: "fl"
    示例 2:
    
    输入: ["dog","racecar","car"]
    输出: ""
    解释: 输入不存在公共前缀。
    说明:
    
    所有输入只包含小写字母 a-z 。

    代码:

    方法:遍历vector进行比较

    class Solution{
        public:
            string longestCommonPrefix(vector<int>& strs){
                if(!strs.size()){
                    return "";      // 如果vector容器中没有元素直接返回空字符串
                }
                string Prefix = strs[0];    
                int count = strs.size();
                for(int i = 1 ; i < count ; i ++)
                {
                    prefix = longest(prefix,strs[i]);   //引入了一个比较2个字符串的函数,找出最长公共前缀
                    if(!prefix.size()) // 一旦发现为空,直接跳出循环即可
                    {
                        break;
                    }
                 }
                 return prefix; 
            }
            
            string longest(const string& str1, const string& str2)
            {
                int length = min(str1.size(),str2.size());
                int index = 0;
                while(index < length && str1[index] == str2[index])
                {
                    ++index;
                }
                return str1.substr(0,index);
             } 
    };

    哈,又到了总结时间

    1:学到了str.substr(num,num),这个函数,

    里面有2个参数,第一个参数是从下标为第几位开始,第二个参数是,从第一个参数开始持续几个数

    百度解释为:主要功能是复制子字符串,要求从指定位置开始,并具有制定长度

    举个栗子:

    str = "0,1,2,3,4,5,6,7,8,9"

    str1 = str.substr(5,3)

    str1 = "5,6,7" 

    str2 = str.substr(5)

    str2 = "5,6,7,8,9"

  • 相关阅读:
    CI 知识 :Git介绍及常用操作
    虚拟机的迁移(热迁移)
    kvm虚拟化网络管理
    Zabbix -----安装
    Mariadb 主从
    keepalived + lvs marster 与 backup 之间的 高可用
    LVS 负载均衡 (VS/DR模式 与 VS/TUN 模式)
    linux下部署tomcat 上线jpress博客系统
    docker (2)---存储、网络(利用docker容器上线静态网站)
    openstack(2) -------RabbitMQ集群部署
  • 原文地址:https://www.cnblogs.com/wtzmz/p/13368996.html
Copyright © 2020-2023  润新知