Write a function to find the longest common prefix string amongst an array of strings.
思路:利用递归来实现
代码:
class Solution { public: string longestCommonPrefix(vector<string>& strs){ if(strs.size() == 0){ return ""; } string prefix = ""; for(int i = 0; i < strs.size(); ++ i){ if(strs[i].size() == 0) return ""; } for(int i = 0; i < strs.size()-1; ++ i){ if(strs[i][0] != strs[i+1][0]) return ""; } prefix.append(strs[0].begin(),strs[0].begin()+1); vector<string> substrs(strs.size()); for(int i = 0; i < strs.size(); ++ i){ if(strs[i].size() > 1){ substrs[i] = (strs[i].substr(1)); }else{ substrs[i] = ""; } } string subprefix = longestCommonPrefix(substrs); prefix.append(subprefix); return prefix; } };