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

    我的代码:(4ms)

    /*好像又加了数据,结果RE了。*/
    class
    Solution { public: string longestCommonPrefix(vector<string>& strs) { string res=""; if(strs.empty()){ return res; } for(int j=0;j<strs[0].size();j++){ for(int i=0;i<strs.size();i++){ if((i+1!=strs.size())&&strs[i][j]!=strs[i+1][j]){ return res; } } res+=strs[0][j]; } return res; } };

    改正之后的代码:先找出一个最短的。

    class Solution {
    public:
        string longestCommonPrefix(vector<string>& strs) {
            string res="";
            if(strs.empty()){
                return res;
            }
            int lens=strs[0].size();
            for(int i=1;i<strs.size();i++){
                if(strs[i].size()<lens){
                    lens=strs[i].size();
                }
            }
            for(int j=0;j<lens;j++){
                for(int i=0;i<strs.size();i++){
                    if((i+1!=strs.size())&&strs[i][j]!=strs[i+1][j]){
                        return res;
                    }
                }
                res+=strs[0][j];
            }
            return res;
        }
    };
    Ver 2

    最快:(0ms)

    class Solution {
    public:
        string longestCommonPrefix(vector<string>& strs) {
            if(strs.empty())        
                return "";
            int n=strs.size();
            string s=strs[0];
            for(int i=1;i<n;i++){
                if(s.length()>strs[i].length())
                    s=s.substr(0,strs[i].length());
                for(int j=0;j<s.length();j++)
                    if(s[j]!=strs[i][j]){
                        s=s.substr(0,j);
                        break;
                    }
            }
            return s;
        }
    };

     这是另一种方法。我的是,外层遍历字符串,内层遍历字符串数组。这个是反过来。

  • 相关阅读:
    vue-cli生成的重要代码详解
    vuex初探
    vue-router笔记
    新技术的学习
    图片优化方法(有时间看看)
    关于老教授之家项目的思考 && 中国互联网+大赛培训
    If you are tired...
    微信公众平台开发初探
    winscp介绍与使用
    获取当前服务器信息
  • 原文地址:https://www.cnblogs.com/azureice/p/leetcode14.html
Copyright © 2011-2022 走看看