leetcode 有效的括号
2024-10-20 00:25:06
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
示例 1:
输入: "()"
输出: true
示例 2:
输入: "()[]{}"
输出: true
示例 3:
输入: "(]"
输出: false
示例 4:
输入: "([)]"
输出: false
示例 5:
输入: "{[]}"
输出: true
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function (s) {
if (s.length % 2 !== 0) {
return false;
}
let map = {
")": "(",
"]": "[",
"}": "{",
};
let result = [];
for (let i = 0; i < s.length; i++) {
if (s[i] === "(" || s[i] === "[" || s[i] === "{") {
result.push(s[i]);
} else if (map[s[i]] === result[result.length-1]) {
result.pop();
}
}
return !result.length;
};
超级难啊,想了一个小时,但是分类就是简单,就很难受
最新文章
- 集合(set)-Python3
- ACM/ICPC 之 有流量上下界的网络流-Dinic(可做模板)(POJ2396)
- vue在多级联动时,一些情况不用watch而用onchange会更好
- POJ1185 炮兵阵地
- iOS 和Android中的正则表达式简单使用
- Mysql表的七种引擎类型,InnoDB和MyISAM引擎对比区别总结
- webservice 发布到外网的时候
- javascript 实现分享功能
- zigbee学习:示例程序SampleApp中通讯流程
- Linux学习--线程概念
- Linux中各个文件的作用
- 解决vi删除键和方向键奇怪的问题
- Vue入门(二)之数据绑定
- Gulp安装笔记(转)已经测试过
- spark shell学习笔记
- [转] web_reg_save_param得到的数组的处理
- 2.aop中几个注解的含义
- Nginx源码完全注释(4)ngx_queue.h / ngx_queue.c
- UML在实践中的现状和一些建议
- Android Studio项目中三种依赖的添加方式