力扣 14. 最長公共字首

雲軒x發表於2020-11-24

編寫一個函式來查詢字串陣列中的最長公共字首。

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

示例 1:

輸入: [“flower”,“flow”,“flight”]
輸出: “fl”
示例 2:

輸入: [“dog”,“racecar”,“car”]
輸出: “”
解釋: 輸入不存在公共字首。
說明:

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

思路:以第一個字串為模板,縱向匹配;

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
          if(strs.empty())//如果為空返回""
               return "";
         string s=strs[0];//選取第一個字串
         int ls=s.size();
         int l=strs.size();
         for(int i=0;i<ls;i++)
         {
             char c=s[i];
             for(int j=1;j<l;j++)
             {
                 if(i>=strs[j].size()||c!=strs[j][i])//如果不匹配或者長度不符合,就直接返回
                    return strs[0].substr(0,i);
             }
         }
         return s;
    }
};

相關文章