『Python学习』lettcode题目答案python版

本文分享了使用Python解决LeetCode题目的一些方法,包括字符串翻转和求集合子集问题,是Python学习者的好资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:本文部分参考以下文章

LeetCode题解整理版(二)


1、将abc def形式的字符串翻转成def abc,并且去掉多余的空格

class Solution:
    def reverseWords(self, s):
        return "".join([word[::-1] for word in s[::-1].split()])
        
solution = Solution()
print solution.reverseWords("abc def")

2、判断字符串 C 是不是由字符串 A 和字符串 B 组成
class Solution:
    """
    s1, s2, s3 均是字符串
    思路一是如果 len(s3) != len(s1) + len(s2) 则 s3 不是由 s1 和 s2 组成的
    思路二是先把 s1, s2, s3 转变为列表, 然后从 s3 列表中把 s1, s2 列表中有的元素都移除掉,如果最后 s3 列表为空则
    s3 是由 s1 和 s2 组成的, 否则则不是。同时移除的过程中报 ValueError 的话, 也说明不是
    """
    def isInterleave(self, s1, s2, s3):
        if len(s3) != len(s1) + len(s2):
            print "%s不是由%s和%s组成的" %(s3, s1, s2)
            return
        s4 = list(s3)
        try:
            for s1_i in list(s1):
                s4.remove(s1_i)
            for s2_i in list(s2):
                s4.remove(s2_i)
        except ValueError:
            print "%s不是由%s和%s组成的" %(s3, s1, s2)
            return
        else:
            print "%s是由%s和%s组成的" %(s3, s1, s2)
        if s4:
                print "%s不是由%s和%s组成的" %(s3, s1, s2)

solution = Solution()
solution.isInterleave("abc", "def", "abcdeg")

3、求一个集合的所有子集

class Solution():
    """
    s 是一个集合
    """
    def subset(self, s):
        subsetlist = [[], s]
        for i in range(len(s)):
            for j in range(i+1, len(s)+1):
                subsetlist.append(s[i:j])

solution = Solution()
solution.subset([1, 2, 3])

4、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值