先简单回顾一下,今天预计分析的题目:
class Solution:
def isValid(self, s: str) -> bool:
# 先宣告一个 stack 盒子,之後专门存放左括号
stack_left = []
# 把变数 s 一个个读字元,每一次读的字元存在 chr 变数中
for chr in s:
# 若 chr 为左括号
if chr == "(" or chr == "[" or chr == "{":
stack_left.append(chr)
# 若 chr 不是左括号 (chr 为右括号)
else:
# 若 stack 内还有东西 (因为要拿一个 stack 盒子中的左括号,出来跟右括号比对是否为 same type)
if stack_left:
# stack 盒子拿出来的左括号放在 left 变数中
left = stack_left.pop()
# 接下来三个判断式,依序判断是否为 same type,一旦不是就直接回传 False
if chr == ")" and left != "(":
return False
elif chr == "]" and left != "[":
return False
elif chr == "}" and left != "{":
return False
# 若都读到右括号了,但是 stack 没有左括号可以配对,那就直接回传 False
else:
return False
# 判断 stack 是否为空,stack若是空的 为 True
# stack 内有东西
if stack_left:
return False
# stack 内没有东西了~
else:
return True
class Solution:
def isValid(self, s: str) -> bool:
stack_left = []
dict = {")": "(", "]": "[", "}": "{"}
for chr in s:
# 若 chr 为 左括号
if chr in dict.values():
stack_left.append(chr)
# 若 chr 为 右括号
elif chr in dict.keys():
# 若 stack 盒子是空的、没有对应到 same type,回传 False
if len(stack_left) == 0 or dict[chr] != stack_left.pop():
return False
else:
return False
return not stack_left
前言 前面几篇写了一些有趣没什麽人讨论的攻击手法,中场休息偷懒一下 之前在PTT上看到有人讨论OSC...
在众多游戏类型中,对战游戏类型游戏占有很重要的一席之地。不论是手机游戏市场,还是以电脑为主的竞技游戏...
大家好,我是毛毛。ヾ(´∀ ˋ)ノ 废话不多说开始今天的解题Day~ 26. Remove Dupl...
Redis 资料型态GEO 储存地理空间资讯. 可用指令 GEOADD GEOPOS GEODIST...
Rita.js Rita 使用范例 拆解字串:RiString() 取得词性 pos()(Part ...