题解 | #字符串通配符#python顶楼解法(注释版)

字符串通配符

https://www.nowcoder.com/practice/43072d50a6eb44d2a6c816a283b02036

def fun(str1, str2):
    '''
    str1 代表一个带有通配符的字符串
    str2 代表一个需要匹配的字符串
    本函数用于判断str2是否匹配含通配符的str1
    '''
    if str1 == '' and str2 == '':
        return True
    elif str1 == '' and str2 != '':
        return False
    elif str1 != '' and str2 == '':
        if str1.replace('*', '') == '':
            return True
        else:
            return False
    else:#str1,str2均不为空
        m, n = len(str1), len(str2)
        if str1[m - 1] == str2[n - 1] or (str1[m - 1] == '?' and str2.isalnum()):
            return fun(str1[:m-1], str2[:n-1])
        elif str1[m - 1] == '*':
            return fun(str1[: m-1],str2) or fun(str1, str2[:n-1])#前者代表*不表示任何字符,后者代表*表示了任意一个字符
        else:
            return False

while True:
    try:
        str1, str2 = input().lower(), input().lower()
        if fun(str1, str2):
            print('true')
        else:
            print('false')
    except:
        break

大佬的代码,方便自己日后复习

全部评论

相关推荐

08-19 18:59
已编辑
绍兴文理学院 Java
一只末影酱:一、1w+qps嘛感觉数据有点太夸张了 二、还有就是99.95%这些,本身大部分学生做的小项目基本是100%,因为量太小了,网络抖动问题也基本模拟不出来,感觉这些不太好写 三、你这些项目,都是一个月就做完了,更抽象了,也就是大概意味着,没有技术调研,没有上线测试,
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务