假设我们有一个由括号“(”和“)”组成的字符串。我们必须检查括号是否平衡。
因此,如果输入就像s =“((()())(()))”,那么输出将为True
为了解决这个问题,我们将遵循以下步骤-
num_open:= 0
对于s中的每个字符c,
如果num_open <0,则
除此以外,
除此以外,
num_open:= num_open-1
返回False
num_open:= num_open +1
如果c与')'相同,则
返回num_open的反函数
让我们看下面的实现以更好地理解-
class Solution:
def solve(self, s):
num_open = 0
for c in s:
if c == ')':
if num_open < 0:
num_open -= 1
else:
return False
else:
num_open += 1
return not num_open
ob = Solution()print(ob.solve("(()())(())"))"(()())(())"
输出结果
False