博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode 题解]: Longest Common Prefix
阅读量:5018 次
发布时间:2019-06-12

本文共 1229 字,大约阅读时间需要 4 分钟。

Write a function to find the longest common prefix string amongst an array of strings.

题解: 寻找一组字符串的最长公共前缀。 

最简单的方法,用一个字符串记录当前最长的公共前缀,然后依次比较。时间复杂度: O(N).

1 class Solution { 2 public: 3     string getPrefix(string a,string b)   // 辅助函数用于获取两个字符串的公共前缀 4     { 5         string ans; 6         for(int i=0;i
&strs) {14 string a;15 int len = strs.size();16 if(!len) return a;17 a = strs[0];18 for(int i=1;i

高效的方法,采用分治法,先分块,后合并比较,时间复杂度O(logN)。

1 class Solution { 2 public: 3     string getPrefix(string a,string b)   //辅助函数,用于获取两个字符串的公共前缀 4     { 5         string ans; 6         for(int i=0;i
&strs) //分治法寻找commonPrefix14 {15 if(left>=right) return strs[left];16 if(left+1==right) return getPrefix(strs[left],strs[right]);17 int middle = (right+left)>>1;18 return getPrefix(commonPrefix(left,middle,strs),commonPrefix(middle+1,right,strs));19 }20 string longestCommonPrefix(vector
&strs) {21 int i=0,len=strs.size();22 string a;23 if(!len) return a;24 return commonPrefix(0,len-1,strs);25 }26 };

 转载请注明出处: 谢谢!

转载于:https://www.cnblogs.com/double-win/p/3793504.html

你可能感兴趣的文章
MySQL服务启动:某些服务在未由其他服务或程序使用时将自动停止
查看>>
KNN与SVM对比&SVM与逻辑回归的对比
查看>>
团队个人冲刺第三天
查看>>
2017-10-17 NOIP模拟赛2
查看>>
How to install ia32-libs in Ubuntu 14.04 LTS (Trusty Tahr)
查看>>
The Ctrl & CapsLock `problem'
查看>>
linux故障判断
查看>>
Java进阶知识点6:并发容器背后的设计理念 - 锁分段、写时复制和弱一致性
查看>>
Makefile ===> Makefile 快速学习
查看>>
face detection[HR]
查看>>
java性能调优工具
查看>>
C# 其他的Url 文件的路径转化为二进制流
查看>>
cmake使用
查看>>
面向对象高级
查看>>
Bitwise And Queries
查看>>
oracle连接问题ORA-00604,ORA-12705
查看>>
Java从零开始学十三(封装)
查看>>
Python2和Python3中的rang()不同之点
查看>>
lintcode28- Search a 2D Matrix- easy
查看>>
react项目
查看>>