当前位置:网站首页>letcode 第20题-有效的括号
letcode 第20题-有效的括号
2022-08-02 23:56:00 【法毅的博客】
题目:
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
解题思路:
字符串遍历,拿到每个字符,如果是左括号,放到栈中,如果是右括号,先判空,为空返回不匹配,否则使用pop函数,拿出栈顶元素看是否匹配,最后再判空,防止字符串为单个左括号的情况[
import java.util.Stack
class Solution {
public boolean isValid(String s) {
Stack[Character] stack = new Stack<>();
for(int i = 0;i<s.length();i++){
char c = s.charAt(i);
if(c == '(' || c == '[' || c == '{' ){
stack.push(c);
}eles{
if(stack.isEmpty()){
return false;
}
char topChar = stack.pop();
if(c == ']' && topChar != '['){
return false;
}
if(c == ')' && topChar != '('){
return false;
}
if(c == '}' && topChar != '{'){
return false;
}
}
}
return stack.isEmpty();
}
}边栏推荐
- Rasa 3.x study series - Rasa - Issues 4792 socket debug logs clog up debug feed study notes
- HVV红队 | 渗透测试思路整理
- Wireshark数据抓包分析之传输层协议(TCP协议)
- @GetMapping、@PostMapping、@PutMapping、@DeleteMapping的区别
- 定了!8月起,网易将为本号粉丝提供数据分析培训,费用全免!
- 基于飞腾平台的嵌入式解决方案案例集 1.0 正式发布!
- 【mysql知识点整理】--- order by 、group by 出现Using filesort原因详解
- vant-swipe adaptive picture height + picture preview
- 十年架构五年生活-05第一次出差
- C语言:链表
猜你喜欢

js显示隐藏手机号

pytest-常用运行参数

简单聊聊MySQL中的六种日志

Day117. Shangyitong: Generate registered order module

几种常见的跨域解决方法

vant-swipe adaptive picture height + picture preview

Database auditing - an essential part of network security

Nuxt 所有页面都设置上SEO相关标签

Test | ali internship 90 days in life: from the perspective of interns, talk about personal growth

令人心动的AI综述(1)
随机推荐
js基础知识整理之 —— 判断语句和三元运算符
淘宝商品销量接口/淘宝商品销量监控接口/商品累计销量接口代码对接分享
十年架构五年生活-03作为技术组长的困扰
别再到处乱放配置文件了!我司使用 7 年的这套解决方案,稳的一秕
用了这么多年的LinkedList,作者说自己从来不用它?为什么?
flutter 时间戳转日期
如何修复 SAP UI5 aggregation with cardinality 0..1 相关的错误消息
十年架构五年生活-05第一次出差
基于飞腾平台的嵌入式解决方案案例集 1.0 正式发布!
十三、数据回显
DownMusic summary record
【QT】自定义工程封装成DLL并如何调用(带ui界面的)
几种常见的跨域解决方法
Teach you to locate online MySQL slow query problem hand by hand, package teaching package meeting
【多线程】Thread类的基本用法
精心整理16条MySQL使用规范,减少80%问题,推荐分享给团队
Auto.js 特殊定位控件方法 不能在ui线程执行阻塞操作,请使用setTimeout代替
flutter空安全问题,平时用到的数据一定要注意
合并两个excel表格工具
matplotlib中的3D绘图警告解决:MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure