题目要求判断字符串b能否通过特殊符号变成字符串a。其中'.'表示该字符可以变成任意字符,'*'表示该字符的前一个字符可以变成任意多个。
可以使用递归的方法来判断。从两个字符串的最后一个字符开始递归,如果b的当前字符是'.'或者和a的当前字符相同,则继续递归下一个字符。如果b的当前字符是'*',则分别递归b的当前字符和前一个字符出现0次、1次、2次...直到字符串a被匹配完。
代码示例:
def isMatch(s,p):
if not p:
return not s
first_match = bool(s) and p[0] in {s[0],