Leetcode -- Longest Common Prefix
来源:互联网 发布:校园暴力看待 知乎 编辑:程序博客网 时间:2024/06/05 10:42
题目:
Write a function to find the longest common prefix string amongst an array of strings.
分析:
一堆string里面,找到大家共有的从头部开始的字串
思路:
遍历,复杂度O(N)。每次记下当前最长的字串,然后跟新的一个string比较,获取当前的最长字串。
代码:
string longestCommonPrefix(vector<string>& strs) { string str, max_str; int len_strs = strs.size(); int len1, len2; if(len_strs == 0) { return ""; } max_str = strs[0]; for(int i = 1;i < len_strs; i++) { len1 = max_str.size(); len2 = strs[i].size(); str = ""; for (int j = 0; j < (len1 < len2? len1 : len2); j ++) { if(max_str[j] == strs[i][j]) { str = str + max_str[j]; } else { break; } } max_str = str; } return max_str; }
更简单的算法:discuss中发现的:
思路:将第一个string作为模板,一个char一个char的判断,直到某个不一致就结束。
前面的思路是:一个string一个string的判断二者之间的最长开头子串。
代码:
string longestCommonPrefix(vector<string>& strs) { if (strs.empty()) return ""; for (int pos = 0; pos < strs[0].length(); pos++) for (int i = 1; i < strs.size(); i++) if (pos >= strs[i].length() || strs[i][pos] != strs[0][pos]) return strs[0].substr(0, pos); return strs[0]; }
0 0
- LeetCode: Longest Common Prefix
- LeetCode Longest Common Prefix
- LeetCode : Longest Common Prefix
- [Leetcode] Longest Common Prefix
- [LeetCode] Longest Common Prefix
- [LeetCode]Longest Common Prefix
- LeetCode-Longest Common Prefix
- [LeetCode] Longest Common Prefix
- LeetCode - Longest Common Prefix
- leetcode Longest Common Prefix
- LeetCode | Longest Common Prefix
- Leetcode: Longest Common Prefix
- LeetCode: Longest Common Prefix
- 【LeetCode】Longest Common Prefix
- [LeetCode] Longest Common Prefix
- [LeetCode]Longest Common Prefix
- leetcode: Longest Common Prefix
- LeetCode Longest Common Prefix
- 【Java代码保护技术】代码混淆
- 26-网络编程-07-网络编程(UDP协议-发送端)
- HierarchyViewer源代码理解(一)
- 【Android进阶篇】Fragment的两种加载方式
- Hadoop之HDFS命令
- Leetcode -- Longest Common Prefix
- matlab在win7下无法读取播放avi文件
- JS获取当前时间的方法
- java要在命令行运行eclipse的项目的方法
- Markov-modulated Poisson process 马氏泊松过程
- cocos2d-x3.2自己测试Box2D一些坑
- day-0811-Server
- android与js交互(一)
- VSFTPD问题集:425 Security: Bad IP connecting.