首页
学习
活动
专区
工具
TVP
发布

LeetCode

写在前面

说起来,今天是跟着大佬刷LeetCode题库的第五天了,一直以来,题目的难度对于我这个小白来讲,基本上属于难的很难看懂,不难的基本上也要靠百度,主要还是对于的库的不熟悉,对于基础思路不清晰导致的。现在开始慢慢在回看的基础教程,也会慢慢地分享学习和生活上的一些心得。

题目: 最长公共前缀

如果不存在公共前缀,返回空字符串 ""。

示例 1:

输入: ["flower","flow","flight"]

输出: "fl"

示例 2:

输入: ["dog","racecar","car"]

输出: ""

输入不存在公共前缀。

所有输入只包含小写字母 a-z 。

方法一:

其实这个方法是官方推荐的方法四,即二分查找法,首先找出最短的字符串,然后将最短字符串中的字符进行比较即得到最终结果。这个也是官方库os.math中封装好的commonprefix函数:

说明:

方法二:

这个源于网上一个大神的做法,进行set之后可以直接比较每个字符,算是暴力解法

说明:

*test 会将列表或者元组转化为可变参数。

zip()函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表

那么这个函数对于刚刚的例子,返回的值应该是

set函数是将这一个个元组转换为集合形式,根据集合的互异性,自然也就得出了公共前缀。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190131G18YQN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券