給你三個單字:”flower”,”flow”,”flight”
你要找出床的公共前綴合:”fl”
這題雖然長得很像是要用前綴合
但其實做法就比較普統,就拿第 0 個字串跟其他字串去比較就好
-> 要寫一個函數,吃兩個字串,回傳公共最常部分
class Solution {
public:
string f(string s1, string s2){
string ans = "";
// 我要確保s1是比較短的那個
if(s1.size() > s2.size()) swap(s1, s2);
for(int i=0;i<s1.size();i++){
if(s1[i]==s2[i]) ans+=s1[i];
else break;
}
return ans;
}
string longestCommonPrefix(vector<string>& strs) {
string ans = strs[0];
for(int i=1;i<strs.size();i++){
ans = f(ans, strs[i]);
if(ans == "") break;
}
return ans;
}
};