[题目] Write a function to find the longest common PRefix string amongst an array of strings.
[中文翻译] 写一个函数查找字符串数组的最长公共前缀。
[解题思路] 枚举最长公共子串的长度。对于当前枚举到的位置,判断字符串数组当前位的字符是否都相同,如果不是都相同,则已获得了最长公共子串的长度,否则,继续枚举。
[C++代码]
class Solution {public: string longestCommonPrefix(vector<string>& strs) { int minLen; string res = ""; if (strs.size() > 0) { minLen = strs.at(0).size(); } else minLen = 0; for (int i = 1; i < strs.size(); i++) if (minLen > strs.at(i).size()) minLen = strs.at(i).size(); for (int i = 0; i < minLen; i++) { bool flag = true; char ch = strs.at(0).at(i); for (int j = 1; j < strs.size(); j++) if (strs.at(j).at(i) != ch) { flag = false; break; } if (flag) res += ch; else break; } return res; }};新闻热点
疑难解答