Leetcode實戰: 14. 最長公共前綴

題目:

編寫一個函數來查找字符串數組中的最長公共前綴。

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

示例1

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

示例2

輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。

說明

所有輸入只包含小寫字母 a-z 。

算法實現:

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

結果:

時間複雜度:O(KN)O(KN),其中K是列表中字符串個數,N是最長公共前綴個數

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章