python有效括号
class Solution:def isValid(self, s):
stack = []
cache = {'(':')','[':']','{':'}'}
for c in s:
if c in cache:
stack.append(c)
continue
if len(stack) == 0 or cache != c:
return False
return len(stack) == 0
求助大佬,解释一下红色部分的意思,不是很懂,谢谢!! 如果stack列表为空 或者 以stack列表的最后一个元素为key所对应的value不等于c 则返回 False
最后一句意思为 如果for c in s:这个循环正常执行中途没有执行return False这一语句 则会返回 len(stack) == 0 的布尔值(如果stack为空列表则会True 反之为False) Mzzith 发表于 2021-11-18 22:07
如果stack列表为空 或者 以stack列表的最后一个元素为key所对应的value不等于c 则返回 False
最后一句 ...
大佬,这里我还是不懂:
以stack列表的最后一个元素为key所对应的value不等于c 则返回 False pallas 发表于 2021-11-19 13:54
大佬,这里我还是不懂:
以stack列表的最后一个元素为key所对应的value不等于c 则返回 False
你看 stack.pop()的意思是删除stack列表的最后一个值并把它返回出来,然后cache中 cache是一个字典,字典中每个key都会对应一个value 就例如字典的第一个 key 为'(' value为')',cache[]中 中括号中的输入一个值就相当于key,cache字典就会找这个key所对应的value,所以如果key在字典中存在 则cache相当于stack列表最后一个元素作为key所对应的value值 如果这个value不等于c返回False 好的,懂了,谢谢大佬
页:
[1]