括号匹配
作业已超过截止时间,您无法递交本题目。
题目描述
现在给出三种括号形式\(\{,\},\ [,],\ (,)\),然后给出你一个字符串,判断这个字符串中的括号匹配是否合法。
括号匹配合法即每个左括号都有一个右括号与之对应,并且不同类型的括号不互相交叉包含。
例如:
下面给出合法的案例{[()]}
,{([][])[]}
,([][][]{}{}{})
。
下面给出不合法的案例{())}
,([{]})
,({[][(])})
。
下面给出一个只包含这三种括号的字符串,判断这个字符串中的括号匹配是否合法,合法输出yes
,否则输出no
。
- 注:空字符串也可以看作是合法案例,提交时使用C++语言。
输入格式
一行,一个只包含括号的字符串。
输出格式
一行,yes
或者no
,判断这个字符串是否合法。
输入输出样例
输入#1
{[()]}
输出#1
yes
输入#2
({[][(])})
输出#2
no
数据范围与约定
对于\(100\%\)的数据,保证字符串长度\(\le 1,000\)。