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

    题目:

      编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""

    示例:

    示例 1:

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

    示例 2:

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

    思路:

      先找出最小长度的,然后每个字符串匹配。O(n)

    class Solution {
    public:
        string longestCommonPrefix(vector<string>& strs) {
            int size=strs.size();
            if(size==0) return "";
            int min=strs[0].size();
            for(int i=0;i<size;i++)
                if(strs[i].size()<min) min=strs[i].size();
            if(min==0) return "";
            int j=0;
            for(;j<min;j++)
            {
                char temp=strs[0][j];
                for(auto &s:strs)
                {
                    if(s[j]!=temp) return string(strs[0].begin(),strs[0].begin()+j);
                }
            }
            return string(strs[0].begin(),strs[0].begin()+j);
        }
    };
  • 相关阅读:
    Java
    Linux
    Linux
    Linux
    Java
    Ansible
    Ansible
    Java
    ACM&OI 基础数论算法专题
    题解 P4781 【【模板】拉格朗日插值】
  • 原文地址:https://www.cnblogs.com/manch1n/p/10323957.html
Copyright © 2011-2022 走看看