前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【leetcode刷题】T63-最长公共前缀

【leetcode刷题】T63-最长公共前缀

作者头像
木又AI帮
修改2019-07-18 10:11:51
2980
修改2019-07-18 10:11:51
举报
文章被收录于专栏:木又AI帮木又AI帮

【题目】

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""

示例 1:

代码语言:javascript
复制
输入: ["flower","flow","flight"]
输出: "fl"

示例 2:

代码语言:javascript
复制
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

说明:

所有输入只包含小写字母 a-z

【思路】

循环遍历每个字符串第i个字符是否存在以及是否相等即可。

【代码】

python版本

代码语言:javascript
复制
class Solution(object):
    def longestCommonPrefix(self, strs):
        """
        :type strs: List[str]
        :rtype: str
        """
        if len(strs) == :
            return ''
        i = 
        while i < len(strs[]):
            tmp = strs[][i]
            flag = False
            # 判断每个字符串的第i个位置是否有元素,有的话是否相等
            for s in strs[:]:
                if len(s) <= i or tmp != s[i]:
                    flag = True
                    break
            if flag:
                break
            i += 
        return strs[][:i]

C++版本

代码语言:javascript
复制
class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.size() == )
            return "";
        int i = ;
        char c;
        bool flag;
        while(i < strs[].size()){
            c = strs[][i];
            flag = false;
            // 判断所有字符串第i个位置是否有字符,有的话是否相等
            for(auto s: strs){
                if(s.size() <= i || s[i] != c){
                    flag = true;
                    break;
                }
            }
            if(flag)
                break;
            i++;
        }
        string res = strs[].substr(, i);
        return res;
    }
};
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 木又AI帮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档