LeetCode 014. Longest Common Prefix
2017-05-04 14:25
363 查看
问题
Write a function to find the longest common prefix string amongst an array of strings.分析
求一个数组中,所有元算的最常公共前缀,获取数据中长度最短的元素,将这个元素的每一位,依次与数组中每个元素的每一位进行比较,当遇见不相等时,即刻终止对数组中的元素排序,这样以来只需要比较第一个元素和最后一个元素,就可以得到数组的最大公共前缀
解答
string longestCommonPrefix(vector<string>& strs) { string result = ""; if (strs.size() == 0) return result; int minLenIndex = 0; for (int i = 1; i < strs.size(); i++){ if (strs[i].length() < strs[minLenIndex].length()) minLenIndex = i; } int i = 0; for (i = 0; i < strs[minLenIndex].length(); i++){ int j = 0; for (j = 0; j < strs.size(); j++){ if (strs[j][i] != strs[minLenIndex][i]){ break; } } if (j < strs.size()){ break; } } result = strs[minLenIndex].substr(0, i); return result; }
string longestCommonPrefix2(vector<string>& strs) { string result = ""; if (strs.size() == 0) return result; sort(strs.begin(), strs.end()); int i = 0; for (i = 0; i < strs[0].length(); i++){ if (strs[0][i] != strs[strs.size() - 1][i]){ break; } } result = strs[0].substr(0, i); return result; }
相关文章推荐
- [LeetCode] 014. Longest Common Prefix (Easy) (C++/Java/Python)
- 【LeetCode】014 Longest Common Prefix
- [LeetCode 解题报告]014. Longest Common Prefix
- 【LeetCode-面试算法经典-Java实现】【014-Longest Common Prefix(最长公共前缀)】
- leetcode解题方案--014--Longest Common Prefix
- 2017-09-09 LeetCode_014 Longest Common Prefix
- [LeetCode]题解(python):014-Longest Common Prefix
- 【LeetCode】 014. Longest Common Prefix
- leetcode--014. Longest Common Prefix
- [LeetCode]014-Longest Common Prefix
- LeetCode 014. Longest Common Prefix
- leetcode-014-Longest Common Prefix
- 014_LeetCode_14 Longest Common Prefix 题解
- LeetCode 014 Longest Common Prefix
- leetcode_c++:Longest Common Prefix(014)
- LeetCode 014 Longest Common Prefix
- LeetCode 014 Longest Common Prefix
- LCP014 LeetCode 14. Longest Common Prefix
- leetcode 014 —— Longest Common Prefix
- LeetCode 014. Longest Common Prefix