zoukankan      html  css  js  c++  java
  • 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"

  • 相关阅读:
    HDU 3401 Trade
    POJ 1151 Atlantis
    HDU 3415 Max Sum of MaxKsubsequence
    HDU 4234 Moving Points
    HDU 4258 Covered Walkway
    HDU 4391 Paint The Wall
    HDU 1199 Color the Ball
    HDU 4374 One hundred layer
    HDU 3507 Print Article
    GCC特性之__init修饰解析 kasalyn的专栏 博客频道 CSDN.NET
  • 原文地址:https://www.cnblogs.com/wtzmz/p/13368996.html
Copyright © 2011-2022 走看看