在一行中输入一个字符串
,长度
,由可见字符组成。
如果字符串
中的括号部分能构成合法括号序列,则输出 `true`;否则输出 `false`。
abcd(])[efg
false
提取括号 `(`、`)`、`[`、`]` 后为 `(])[`,不是合法括号序列。
a[x(y)z]
true
提取括号后为 `[()]`,是合法括号序列。
const readline = require('readline') const rl = readline.createInterface({ input: process.stdin, ouput: process.stdout }) rl.on('line', line=>{ let inArr = line.trim().split(' ') let s = inArr[0].split('') let stack = [] let flag = 1 for (let i = 0; i < s.length; i++) { if(s[i] == '[' || s[i] == '('){ stack.push(s[i]) }else if(s[i] == ']' || s[i] == ')'){ if(stack.length === 0){ flag = 0 break } let c = stack[stack.length -1] stack.pop() if((c == '[' && s[i] != ']') || ( c == '(' && s[i] != ')' )){ flag = 0 break } } } if(stack.length !== 0){ flag = 0 } console.log(flag? 'true' : 'false') })