這題是要找出多個字串的最長公共前綴。這是一個經典的字串處理問題,要求我們從一組字串中找出所有字串開頭共有的最長部分。
題目:
給定一個字串陣列 strs
,找到該陣列中最長的公共前綴。如果沒有公共前綴,回傳空字串 ""
。
比較所有字串每個字元的相同位置,直到找到不同的字元結束,
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if (strs.size() == 0) return "";
if (strs.size() == 1) return strs[0];
// 跟第一個字串逐一比對字元
string commonPrefix;
for (int i = 0; i < strs[0].size(); i++) {
int count = 0;
for (int j = 1; j < strs.size(); j++) {
if (strs[0][i] != strs[j][i])
break;
count++;
}
if (count == strs.size()-1)
commonPrefix += strs[0][i];
else
break;
}
return commonPrefix;
}
};