这段代码比经典的括号匹配要复杂一点,用到了python字符串的处理技巧
class Stack:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[len(self.items)-1]
def size(self):
return len(self.items)
def HTMLMatch(s):
stack = Stack()
# 请在此编写你的代码(可删除pass语句)
for x in s:
if x=="<":
flag = 0
temp = ""
temp += x
elif x ==">":
temp += x
if flag:
if stack.isEmpty() == False:
temp = temp.replace("/","")
if temp == stack.peek():
stack.pop()
else:
stack.push(temp)
temp = ""
else:
if x=="/":
flag=1
temp += x
if stack.isEmpty():
return 1
else:
return 0
html = input()
if HTMLMatch(html):
print("True")
else:
print("False")