美文网首页
LeetCode14-Longest Common Prefix

LeetCode14-Longest Common Prefix

作者: PengQ1 | 来源:发表于2020-04-04 19:14 被阅读0次

    Description

    Write a function to find the longest common prefix string amongst an array of strings.

    If there is no common prefix, return an empty string "".

    Example 1:

    Input: ["flower","flow","flight"]
    Output: "fl"

    Example 2:

    Input: ["dog","racecar","car"]
    Output: ""
    Explanation: There is no common prefix among the input strings.

    AC代码

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

    测试代码

    int main() {
        Solution s;
        vector<string> a1{"flower", "flow", "flight"};
        vector<string> a2{"dog", "racecar", "car"};
    
        cout << "prefix of a1 is " << s.longestCommonPrefix(a1) << endl;
        cout << "prefix of a2 is " << s.longestCommonPrefix(a2) << endl;
    }
    

    总结

    这一题比较简单,做完边界条件的判定之后,两层for循环,一旦条件不满足,立马return。

    相关文章

      网友评论

          本文标题:LeetCode14-Longest Common Prefix

          本文链接:https://www.haomeiwen.com/subject/ztqsphtx.html