#include <iostream>
#include <vector>
using namespace std;
string str_longest_prefix(string str1, string str2) {
if (str1 == "" || str2 == "") {
return "";
}
int i = 0, j = 0;
string result = "";
while (i < str1.size() && j < str2.size()) {
if (str1[i] == str2[j]) {
result += str1[i];
}
i++;
j++;
}
return result;
}
string arr_longest_prefix(vector<string> arrs, int left, int right) {
if (left >= right) {
return arrs[left];
}
int mid = left + (right - left) / 2;
string left_longest_prefix = arr_longest_prefix(arrs, left, mid);
string right_longest_prefix = arr_longest_prefix(arrs, mid+1, right);
return str_longest_prefix(left_longest_prefix, right_longest_prefix);
}
int main() {
vector<string> arrs;
arrs.push_back("flower");
arrs.push_back("flow");
arrs.push_back("flight");
cout << arr_longest_prefix(arrs, 0, arrs.size()-1) << endl;
return 0;
}
字符串数组最长公共前缀
最新推荐文章于 2022-12-29 22:55:43 发布