Leetcode 14. Longest Common Prefix


首先這題是要求出在一個字串vector裡面,每個字串共同最長前置(prefix)。

想法很簡單:把vector第一個字串拿來當作比較對象,我們稱之COMP好了。return的值稱為ans。

ans = ""; COMP=input[0];

  1. 拿COMP[0]的字元與其他對象字串比較
  2. 如果有存在在其他字串當中,將他加入到ans
  3. 否則,return ans
  4. 重複1-3步驟直到遍歷完所有的COMP字元。
  5. return ans;



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

留言

這個網誌中的熱門文章

面試 (網路搜尋的資源)

bitwise operation 面試考題