假设我们有一个由括号“(”和“)”组成的字符串。我们必须检查括号是否平衡。
因此,如果输入就像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