Longest Common Prefix(最长公共前缀)
2014-12-22 16:56
267 查看
题目:
查找字符串数组的最长的公共前缀(简称LCP),eg:"ab" 、"abc"、"abdge"其LCP="ab"分析:
本人思路很简单,先找到最小长度的字符串的,再遍历字符串数组,把它们的每一位都和最小串比较。时间复杂度O(m*c),m为串数的个数, 其中c为最小串长, 对于n其实际上相当于常数,所以其时间复杂度为为线性的O(m)。代码:
<span style="font-weight: normal;">class Solution { public: string longestCommonPrefix(vector<string> &strs) { int index = 0, i, j; string ans; if (strs.empty()) return ans; //求最小串位置 for (i = 1; i != strs.size(); ++i) { if (strs[i].size() < strs[0].size()) { index = i; } } for (j = 0; j != strs[index].size(); ++j) { for (i = 0; i != strs.size(); ++i) { if (strs[index][j] != strs[i][j]) return ans; } if (i == strs.size()) ans.push_back(strs[index][j]); } return ans; } };</span>
相关文章推荐
- [LeetCode]32. Longest Common Prefix最长公共前缀
- Longest Common Prefix(最长公共前缀)
- leetcode——14——Longest Common Prefix最长公共前缀
- (LeetCode)Longest Common Prefix --- 最长公共前缀
- [leetcode] Longest Common Prefix 字符窜最长公共前缀判断
- 算法系列——Longest Common Prefix最长公共前缀
- 寻找若干个字符串的最长公共前缀 Longest Common Prefix
- LeetCode 14 Longest Common Prefix(最长公共前缀)(String)
- LeetCode Longest Common Prefix 最长公共前缀
- LeetCode OJ 之 Longest Common Prefix (最长公共前缀)
- Leet Code 14 Longest Common Prefix - 最长公共前缀 - Java
- LeetCode OJ:Longest Common Prefix(最长公共前缀)
- Longest Common Prefix -最长公共前缀
- LeetCode 第十四题 Longest Common Prefix(最长公共前缀)
- Leetcode:Longest Common Prefix 最长公共前缀
- [C++]LeetCode 14: Longest Common Prefix(最长公共前缀)
- longest-common-prefix 求字符串数组的最长公共前缀
- LeetCode #14 Longest Common Prefix 最长公共前缀 解题小节
- LeetCode 14 Longest Common Prefix(最长公共前缀)
- LeetCode-14-Longest Common Prefix(最长公共前缀)