LeetCode算法题之Longest Common Prefix
来源:互联网 发布:疯狗雾化器口感数据 编辑:程序博客网 时间:2024/05/21 06:29
问题描述:
Write a function to find the longest common prefix string amongst an array of strings.
从多个字符串中找到他们共同的最长的前缀子串
解题思路:
首先找到这组字符串中最短的那个,以它作为基准进行比较,不断地对它进行截尾,直到找到最长公共子串
耗时10ms
class Solution {public: string longestCommonPrefix(vector<string> &strs) { string shortestStr;//最短的字符串int minLen = 1000000;//为空或者vector中仅有一个字符串,无需计算直接返回if(strs.empty())return "";if(strs.size() == 1){ return strs[0];}for(int i=0; i<strs.size(); i++){ if (strs[i].length() == 0) return ""; if(strlen(strs[i].data()) < minLen){minLen = strlen(strs[i].data());shortestStr = strs[i];}} int k=0,j=0;//minLen=minLen<=1?1:minLen;string res="";while(j<strs.size()){if(strs[j].substr(0,minLen) == shortestStr.substr(0,minLen)){k++;j++;if(k==strs.size()){//所有的字符串都有这么一个公共前缀,保存下来并结束循环res = shortestStr.substr(0,minLen);break;}continue;}else{minLen--;k=0;j=0;//如果这些子串中有一个不满足,则最短字符串截尾一位,作为新的可能的公共前缀,一切从头开始比较}}return res; }};
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 OJ算法题(十四):Longest Common Prefix
- LeetCode算法题——14. Longest Common Prefix
- python写算法题:leetcode: 14. Longest Common Prefix
- LeetCode: Longest Common Prefix
- LeetCode Longest Common Prefix
- LeetCode : Longest Common Prefix
- [Leetcode] Longest Common Prefix
- [LeetCode] Longest Common Prefix
- 插件开发中的定制单选下拉框
- andorid 5.0 permission出错 INSTALL_FAILED_DUPLICATE_PERMISSION
- 最全java集合用法总结
- Adaboost 算法的原理与推导
- Android官方入门文档[12]启动一个活动
- LeetCode算法题之Longest Common Prefix
- CDC与HDC中StretchBlt()和BitBlt()函数用法
- vim+go环境配置
- 让年轻程序员少走弯路的14个忠告
- c# 模拟鼠标点击
- EXTJS4.0绘制一个上传的文件的界面
- Qt 插件路径
- Greenplum Database 4.3 利用mybatis框架动态生成表
- 微信jssdk分享功能开发及解决ajax跨域的问题