准备阶段1–判断括号字符串是否正确闭合
<script
>
function isRight(arr
) {
let result
= [];
for (let i
= 0; i
< arr
.length
; i
++) {
let stack
= [];
let str
= arr
[i
];
for (let k
= 0; k
< str
.length
; k
++) {
if (stack
.length
) {
if (stack
[stack
.length
- 1] === '(' && str
[k
] === ')') {
stack
.pop();
} else {
stack
.push(str
[k
]);
}
} else {
stack
.push(str
[k
]);
}
}
if (!stack
.length
) {
result
.push(arr
[i
]);
}
}
return result
;
}
let arr
= ['(())','((((', ')(()','()()', '()()()','((()))', '()(())', '(())()', ')()('];
console
.log(isRight(arr
));
</script
>
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
转载请注明原文地址: https://lol.8miu.com/read-18470.html