码迷,mamicode.com
首页 > 其他好文 > 详细

lc 最长公共前缀

时间:2020-05-18 00:20:51      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:efi   bre   byte   最长公共前缀   +=   length   spl   interview   card   

链接:https://leetcode-cn.com/explore/interview/card/bytedance/242/string/1014/

代码:

技术图片
class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.size() == 0) return "";
        if(strs.size() == 1) return strs[0];
        int min_length = strs[0].size();
        for(int i = 1; i < strs.size(); i++) {
            if(min_length > strs[i].size()) min_length = strs[i].size();
        }
        int cur = 0;
        string res_string = "";
        // cout << strs.size() << endl;
        // return "";
        while(cur < min_length) {
            int i = 1;
            while(i < strs.size()) {
                if(strs[i][cur] != strs[0][cur]) break;
                i++;
            }
            if(i == strs.size()) {
                res_string += strs[0][cur];
                cur++;
            }
            else break;
        }
        return res_string;
    }
};
View Code

思路:以 s[0]作为模板,在最近不匹配位置停止就好,要注意边界问题。

lc 最长公共前缀

标签:efi   bre   byte   最长公共前缀   +=   length   spl   interview   card   

原文地址:https://www.cnblogs.com/FriskyPuppy/p/12907894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!