LeetCoded第20题题解--有效的括号
有效的括号
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
示例 1:
输入: “()”
输出: true
示例 2:
输入: “()[]{}”
输出: true
示例 3:
输入: “(]”
输出: false
示例 4:
输入: “([)]”
输出: false
示例 5:
输入: “{[]}”
输出: true
这个题目很简单,只需要稍微了解栈就可以了
public static boolean isValid(String s) {
Deque<Character> deque = new ArrayDeque<>();
char[] chars = s.toCharArray();
for (char c:chars) {
if (c=='{'){
deque.push('}');
}else if (c=='['){
deque.push(']');
}else if (c=='('){
deque.push(')');
}else if (deque.isEmpty()||deque.pop()!=c){
return false;
}
}
return deque.isEmpty();
}
LeetCoded第20题题解--有效的括号的更多相关文章
- LeetCoded第25题题解--K个一组翻转链表--java--链表
链表 单链表:链表中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素的引用字段链接在一起. 双链表:与单链表不同的是,双链表的每个节点都含有两个引用字段. 链表优点 灵活分配内存空间 能在O ...
- LeetCode第20题:有效的括号
问题描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空 ...
- LeetCoded第239题题解--滑动窗口最大值
滑动窗口最大值 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口内的 k 个数字.滑动窗口每次只向右移动一位. 返回滑动窗口中的最大值. 进 ...
- LeetCoded第21题题解--合并两个有序链表
21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出 ...
- LeetCoded第242题题解--java--数组
数组 数组的优点在于: 构建非常简单 能在 O(1) 的时间里根据数组的下标(index)查询某个元素(连续内存+对象指向数组下标0位置+index能够直接找到元素) 而数组的缺点在于: 构建时必须分 ...
- LeetCoded第2题题解--两数相加
2.两数相加 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表 ...
- LeetCoded第739题题解--每日温度
每日温度 请根据每日 气温 列表,重新生成一个列表.对应位置的输出为:要想观测到更高的气温,至少需要等待的天数.如果气温在这之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表 temper ...
- LeetCoded第206题题解--反转链表
反转一个单链表. 示例 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 方法一:递归 自始至 ...
- 10.9 guz模拟题题解
感谢@guz 顾z的题题解 考试共三道题,其中 第一题help共10个测试点,时间限制为 1000ms,空间限制为 256MB. 第二题escape共20个测试点,时间限制为1000ms2000ms, ...
随机推荐
- 夏壹队——nabcd
我们团队项目名称是TD校园通,无课表查询你作为主要功能,是一个亮眼的功能. 我们的无课表查询功能主要解决大家平时上自习还要到教学楼拍照,教室课程情况也有断更的时候,而这个功能就解决大家的这个功能,能够 ...
- 00JAVA语法基础 原码、反码、补码
记得之前学C语言的时候老师课上讲过一些,不过当时觉得考试不考,也就上课听了下,下课也没怎么多做了解.这次,Java课上再次提出来了,自己也超越了些资料,对这三种概念算是有所初步了解. 1.原码 数据储 ...
- ES6 数值类型常用方法
ES6 数值类型常用方法 <script type="text/javascript"> // Number常用方法 /* Number.isFinite() 用来检查 ...
- MySQL触发器笔记
当操作了某张数据表时,希望同时触发一些动作或行为,就可以使用触发器完成. 当操作微博表时,同时生成一条日志记录 -- 插入时触发 create trigger tri_weiboAdd after i ...
- 【模拟】玩具谜题 luogu-1563
题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外.如下图: 这时singer告诉 ...
- 开发工具IDE从入门到爱不释手(三)运行与调试
一.启动项目 右键运行 菜单运行 run窗口运行 启动参数 -D可覆盖,application.properties中的配置 如: 自动编译 二.调试项目 断点调试 蓝色背景的行,就是当前程序停住的行 ...
- Python基础之实现界面和代码分离
第一步:用QT Designer画一个TreeWidget,存为treeview4.ui,这个处理前面TreeWidget那一节讲过,这里不细讲 treeview4.py # -*- coding: ...
- string子串匹配(用string自带函数,不涉及char数组转换)
using namespace std; #include <iostream> #include<string> //第1种,用string自带的s.subdtr()截取任意 ...
- element+vue点击新增表格内在已有数据添加一行带输入框内容
在element+vue项目中,需求要表格内已有数据,点击新增在首行添加一行带输入框内容 table的数据为datas=[],那么下面是一列的数据,多列可循环或复制 <el-table-colu ...
- Liferay Portal CE 反序列化命令执行漏洞(CVE-2020-7961)
影响范围 Liferay Portal 6.1.X Liferay Portal 6.2.X Liferay Portal 7.0.X Liferay Portal 7.1.X Liferay Por ...