AlgoMooc
← 返回题库

P2609. 表达式括号匹配

简单通过率 47% · 提交 276 · 通过 131
字符串模拟

小慕正在处理一个数学表达式,比如(1+(2+3)*(3+(8+0))+1-2)。不过今天他并不打算计算这个表达式的值,而是想检查其中的括号是否匹配正确。 这个表达式可以简化成类似(()(()))这样的括号序列,小慕认为这种是匹配正确的;而像((())这样的序列,他就认为是错误的。 需要注意的是,括号内部可能包含错误的表达式,也可能有多个空格,这些都不用去管,小慕只关心括号的使用是否正确。

提示:带虚线的词点一下有通俗解释。

输入描述

给出一行表达式(长度不超过 100)。

输出描述

如果匹配正确输出括号的对数,否则输出-1。

示例

示例 1

输入

(1+(2+3)*(3+(8+0))+1-2)

输出

4

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。