LeetCode Longest Common Prefix 最长前缀
2013-11-24 15:56
429 查看
Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
这是一次性通过的简单问题了。
要点:
1 用第一个string初始化,并初始化当前maxPre为该串长度
2 从第二个string开始比较,并记录当前maxPre的最大长度
3 循环所有vector里面的string
2014-1-24 update 更加简洁的程序:
Write a function to find the longest common prefix string amongst an array of strings.
这是一次性通过的简单问题了。
要点:
1 用第一个string初始化,并初始化当前maxPre为该串长度
2 从第二个string开始比较,并记录当前maxPre的最大长度
3 循环所有vector里面的string
class Solution { public: string longestCommonPrefix(vector<string> &strs) { if (strs.empty()) { return string(); } int maxPre = strs[0].length(); for (int i = 1; i < strs.size(); i++) { countPrefix(strs[0], maxPre, strs[i]); } return strs[0].substr(0, maxPre); } void countPrefix(string &initStr, int &maxPre, string &str) { int i = 0; for (; i < maxPre; i++) { if (i >= str.length() || initStr[i] != str[i]) { break; } } maxPre = i; } };
2014-1-24 update 更加简洁的程序:
string longestCommonPrefix(vector<string> &strs) { string rs; if (strs.empty()) return rs; int len = strs[0].length(); for (int i = 1; i < strs.size(); i++) { int j = 0; for ( ; j<len && j<strs[i].length() && strs[i-1][j]==strs[i][j]; j++); len = j; } return strs[0].substr(0,len); }
相关文章推荐
- 一定要用数组标记|xi-xj|,不然会超时
- ssh上传并显示图片
- HTML复选框和单选框 radio checkbox
- tslib编译与安装-----arm----交叉编译
- Linux下LAPM的安装和配置
- 《#诗盗#~日光浴》
- 浙工ACM1295
- HDU 1172 猜数字
- 树状数组(二进制索引树)
- 20-JAVA面向对象-继承
- UVA311
- OCS inventory NG -Glpi 安装日志
- redis32位内存限制
- 《#诗盗#~慎#炒股#》
- centos 装svn
- The 2013 ACM-ICPC Asia Changsha Regional Contest - J
- (Relax dijkstra1.2)POJ 2263 Heavy Cargo(使用dijkstra来求解最大生成树问题)
- oracle学习笔记3.2 SQL*Plus-命令使用2
- 【项目那些事儿】接地气之千万别忽视干系人
- 《#诗盗#~帅富高》