无法理解此功能的作用
Cant understand what this function does
def is_balanced(input_str):
s = 列表()
for ch in input_str:
if ch == '(':
s.append(ch)
if ch == ')':
if not s:
return False
s.pop()
return not s
谁能解释一下“if ch == ')':”这一行之后到底发生了什么?
if not s:
检查列表是否为空,如果列表为空则执行里面的条件。
假设您在输入中提供 ())()()
,因此:
-> 第 0 个索引首先将 (
添加到 s
-> 对于第一个索引(即 )
):它将首先检查 s
是否为空,因为这里我们在 s
中有 (
所以if
条件不会执行,然后继续从列表中弹出值。 (注意现在列表是空的)
-> 到达第二个索引(即 )
):它将首先检查列表是否为空,因为列表为空它将 return False
def is_balanced(input_str): s = 列表()
for ch in input_str:
if ch == '(':
s.append(ch)
if ch == ')':
if not s:
return False
s.pop()
return not s
谁能解释一下“if ch == ')':”这一行之后到底发生了什么?
if not s:
检查列表是否为空,如果列表为空则执行里面的条件。
假设您在输入中提供 ())()()
,因此:
-> 第 0 个索引首先将 (
添加到 s
-> 对于第一个索引(即 )
):它将首先检查 s
是否为空,因为这里我们在 s
中有 (
所以if
条件不会执行,然后继续从列表中弹出值。 (注意现在列表是空的)
-> 到达第二个索引(即 )
):它将首先检查列表是否为空,因为列表为空它将 return False