题解 | #字符串通配符#学习大佬的递归思维,YYDS
字符串通配符
http://www.nowcoder.com/practice/43072d50a6eb44d2a6c816a283b02036
def fun(str1, str2):
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:
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