扫码关注官方订阅号
"()" => returns true ")(()))" => returns false "(" => returns false "(())((()())())" => returns true 形如这种,我可以做到匹配2,3层的没问题,但是层数多了就不知道该怎么办了
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
维护一个计数器,如果是左括号加1,右括号减一,最后判断计数器是否等于0。
function match(str) { var n = 0; for (s of str) { if (s === '(') { n++; } if (s === ')') { if (n === 0) { return false; } n--; } } return n === 0; }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
维护一个计数器,如果是左括号加1,右括号减一,最后判断计数器是否等于0。
function match(str) { var n = 0; for (s of str) { if (s === '(') { n++; } if (s === ')') { if (n === 0) { return false; } n--; } } return n === 0; }