Loading

leetcode#14. Longest Common Prefix

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

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

示例 1:

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

示例 2:

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

说明:

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

思路:直接拿第一个字符串和其他元素比较即可。

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.empty()) return "";
        for(int i=0;i<strs[0].size();++i)
            for(int j=1;j<strs.size();++j) 
        ////这样也能过,但是你得知道strs[j][i]会越界。比如[flower,flow],会跳出循环是因为'e'将会和'\0'比较。所以条件最好是i>=j.size()||str[j][i]!=strs[0][j]
                if(strs[j][i]!=strs[0][i])   
                    return strs[0].substr(0,i);         
        return strs[0];       
    }
};

 

posted @ 2018-09-28 20:44  老鼠阿尔吉侬  阅读(97)  评论(0)    收藏  举报