问题描述:
编写一个函数来查找字符串数组中最长的公共前缀字符串。
如果没有公共前缀,则返回空字符串""
。
例1:
输入: ["flower","flow","flight"]
输出: “fl”
例2:
输入: [“dog”,“racecar”,“car”]
输出: “”
说明:输入字符串中没有公共前缀。
注意:
所有给定的输入都是小写字母a-z
。
方法1:水平扫描
low就是low,没错我最后就是用这种方法解决的,也是解决方法中最差的,捂脸,还是有待提高啊。
这种想法主要是LCP(S1…Sn)=LCP(LCP(LCP(S1,S2),S3),…Sn)
基于这种迭代想法,从左到右遍历字符串(S1,S2...Sn),在每次迭代中找到最长公共前缀,当最长公共前缀是空时结束,返回空串,否则返回LCP(S1…Sn)