zoukankan      html  css  js  c++  java
  • 【简单算法】20.最长公共前缀

    题目:

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

    1.解题思路:

    双层遍历循环即可,实现方法比较简单。

    代码如下:

    class Solution {
    public:
        string longestCommonPrefix(vector<string>& strs) {
            if(strs.size() <= 0){
                return string("");
            }
            
            if(strs.size() == 1){
                return strs[0];
            }
            
            int minColum = INT_MAX;
            for(int i = 0; i < strs.size();++i){
                int length = strs[i].size();
                minColum = min(minColum,length);
            }
            
            int res = 0;
            bool isSucess = true;
            for(int i = 0;i < minColum;++i){
                for(int j = 1;j < strs.size();++j){
                    if(strs[j][i] != strs[j-1][i]){
                        isSucess = false;
                        break;
                    }
                }
                if(isSucess == true){
                    res++;
                }else{
                    break;
                }
            }
                    
            return strs[0].substr(0,res);
        }
    };
  • 相关阅读:
    js快速排序
    蛇形数组
    大臣的旅费
    1724ROADS
    2738:实数加法
    完整版高精度计算(整理后的)
    2737:大整数除法
    2980:大整数乘法
    2736大整数减法,3180 整数减法
    2981:大整数加法
  • 原文地址:https://www.cnblogs.com/mikemeng/p/8984922.html
Copyright © 2011-2022 走看看