leetcode刷题三十七
题目叙述
这是到目前为止,我所做的第一道难度为困难的题,刚开始看题都有些费劲,最后确实是没有做出来,于是去学习了一下别人的代码,结果发现思路还是比较简便的,得出的教训就是不要被表象吓到了。
题目解答
CDATA_CONTENT_PATTERN = r'<!\[CDATA\[.*?\]\]>'
TAG_CONTENT_PATTERN = r'<([A-Z]{1,9})>[^<]*</\1>'
class Solution:
def isValid(self, code: str) -> bool:
code = re.sub(CDATA_CONTENT_PATTERN, "#", code)
for _ in range(code.count('</')):
code = re.sub(TAG_CONTENT_PATTERN, "#", code)
return code == "#"