longest-common-prefix
2015-09-11 09:40
316 查看
【题目描述】
Write a function to find the longest common prefix string amongst an array of strings.
【思路】
水题一道,没什么难点,但是在一个地方wa了好几次,没有考虑到如果在比较中prefix较上一次没有变化的话应该pos为前缀长度的,没有事先给pos赋好初值。
ps:
1、substr(0,s)//表示从开头开始的长度为s的子串
【代码】
class Solution { public: string longestCommonPrefix(vector<string>& strs) { if(strs.size()==0) return ""; int n=strs.size(); string prefix=strs[0]; for(int i=1;i<n;i++){ if(strs[i].length()==0||prefix.length()==0) return ""; int len = prefix.length() < strs[i].length() ? prefix.length() : strs[i].length(); int pos=len;//就是在这里wa了好几次!!! for(int j=0;j<len;j++){ if(prefix[j]!=strs[i][j]){ pos=j; break; } } prefix=prefix.substr(0,pos); } return prefix; } };
相关文章推荐
- fullpage.js jq全屏滚动插件
- C语言中的源文件和include 文件
- Android开源框架分类
- 胜景之地
- 对象的软、弱和虚引用
- 关于MFC中list控件的问题
- 第二周项目三复杂度问题
- 第四周项目1-建立单链表
- Java Map 按key排序和按Value排序
- 第二周 项目2 程序的多文件组织
- java利用当前时间,得到上一个月份
- golang rabbitmq实践 (一 rabbitmq配置)
- 工作总结
- 移动开发框架
- 项目3——体验复杂度 (1)
- Gradle在eclipse内执行编译和运行慢的问题解决
- 忘记MySql 5.X root 密码 windows
- Java基本类型转byte[],java与c通信数据转换
- C++中引用和指针的区别
- 7 bad habits of highly ineffective software engineers