leetcode——Longest Common Prefix 最长公共前缀(AC)
2014-06-08 16:19
441 查看
Write a function to find the longest common prefix string amongst an array of strings.
其实做起来会感觉很简单,需要注意的是要考虑效率的问题,毕竟可能是很长的字符串数组,所以可以考虑选取所有字符串中最短的那个来首先进行比较,因为最长公共子串肯定不会大于其长度,这样避免了字符串之间长度差异很大造成的效率损失,然后每次比较之后最长公共子串的长度也永远不会大于最短的那个字符串,只会不变或减小,只要遍历字符串数组,挨个对比、更改最短公共字符串记录即可,code如下:
其实做起来会感觉很简单,需要注意的是要考虑效率的问题,毕竟可能是很长的字符串数组,所以可以考虑选取所有字符串中最短的那个来首先进行比较,因为最长公共子串肯定不会大于其长度,这样避免了字符串之间长度差异很大造成的效率损失,然后每次比较之后最长公共子串的长度也永远不会大于最短的那个字符串,只会不变或减小,只要遍历字符串数组,挨个对比、更改最短公共字符串记录即可,code如下:
string s = ""; if(strs.empty()) return s; int len = strs.size(); int sLen = 0; int i=0, j=0; for(i=0; i<len; i++) { if(sLen < strs[i].size()) { s = strs[i]; sLen = strs[i].size(); } } for(i=0; i<len; i++) { for(j=0; j<sLen; j++) { if(s[j] != strs[i][j]) break; } s = s.substr(0, j); sLen = s.size(); } return s;
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【014-Longest Common Prefix(最长公共前缀)】
- 【LeetCode】14. Longest Common Prefix 最长公共前缀问题
- LeetCode 找到一个字符串数组的最长公共前缀
- Leetcode:Longest Common Prefix 最长公共前缀
- leetcode 14. Longest Common Prefix 最长公共前缀
- LeetCode 14 Longest Common Prefix(最长公共前缀)(String)
- leetcode-14. Longest Common Prefix(寻找字符串数组最长公共前缀)
- LeetCode:最长公共前缀(Longest Common Prefix)
- LeetCode -- 求字符串数组中的最长公共前缀
- LeetCode | Longest Common Prefix(最长公共前缀)
- LeetCode Longest Common Prefix 最长公共前缀
- [leetcode] Longest Common Prefix 字符窜最长公共前缀判断
- LeetCode 14 Longest Common Prefix(最长公共前缀)
- leetCode 14.Longest Common Prefix(最长公共前缀) 解题思路和方法
- leetcode-14-求字符串数组最长公共前缀
- LeetCode 14. 最长公共前缀
- LeetCode 14. Longest Common Prefix--字符串数组元素的最长公共前缀
- leetcode--最长公共前缀--简单的字符串操作
- Leetcode#14. Longest Common Prefix (最长公共前缀字符串)
- leetcode——14——Longest Common Prefix最长公共前缀