【leetcode系列】小菜鸡的leetcode第4题:最长公共前缀

两种思路,这里就不考虑暴力的横向纵向解法了,显得太繁琐。下面推两个简单易懂,又十分巧妙的解法思路,共勉

'''
#方法1:根据python内置函数ord()进行字符串大小的比较(在比较时自动转化为Ascall码)
class Solution:
    def longestCommonPrefix(self, strs):
        if not strs: return ""
        s1 = min(strs)
        s2 = max(strs)
        for i,x in enumerate(s1):
            if x != s2[i]:
                return s2[:i]
        return s1#当输入为''空的时候 输出为空
'''
#法2:用函数zip,set求解
class Solution:
    def longestCommonPrefix(self, strs) :
        ans = ''
        for i in list(zip(*strs)):
            if len(set(i)) == 1:
                ans += i[0]
            else:
                break
        return ans

if __name__=='__main__':
    strs=['flower','flight']
    a=Solution();
    print(a.longestCommonPrefix(strs))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值