题解 | #正则表达式匹配#
正则表达式匹配
https://www.nowcoder.com/practice/28970c15befb4ff3a264189087b99ad4
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param str string字符串 # @param pattern string字符串 # @return bool布尔型 # class Solution: def match(self , str_i: str, pattern: str) -> bool: # write code here j=len(pattern)-1 i=len(str_i)-1 k=0 while j>=0: if pattern[j]=='*': k=0 j-=1 if pattern[j]=='.': return True while pattern[j]==str_i[i]: i-=1 k+=1 if i==-1: return True j-=1 continue if pattern[j]==str_i[i] or pattern[j]=='.': k=0 j-=1 i-=1 continue if pattern[j-1]==str_i[i] and k: i-=1 k-=1 continue return False if j==-1 and i==-1: return True return False
没有用递归的思想,用了最直接的方式。