当前位置:网站首页>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();
}
}边栏推荐
- 【TypeScript笔记】01 - TS初体验 && TS常用类型
- 【QT】自定义工程封装成DLL并如何调用(带ui界面的)
- 如何使用vlookup+excel数组公式 完成逆向查找?
- Moco of Mock tools use tutorial
- 【Leetcode】305.岛屿数量II(困难)
- 浅谈I2C知识
- 精心整理16条MySQL使用规范,减少80%问题,推荐分享给团队
- 谷歌 Chrome 浏览器 104 正式版发布:加快网页加载,蓝牙 API 改进
- @GetMapping、@PostMapping、@PutMapping、@DeleteMapping的区别
- Connect the Snowflake of CKAN tutorial CKAN to release to open data portal
猜你喜欢
随机推荐
即席查询—— Kylin使用
典型相关分析CCA计算过程
2022 Shandong International Youth Eye Health Industry Exhibition, Vision Health Exhibition, Optometry Exhibition
vue3的keepAlive缓存组件
【多线程】线程与进程、以及线程进程的调度
浅谈I2C知识
2022山东国际青少年眼睛健康产业展会,视力健康展,眼视光展
机器学习-特征映射方法
数据库审计 - 网络安全的重要组成部分
Visual Studio中vim模拟器
解决错误:Optional int parameter ‘pageSize‘ is present but cannot be translated into a null value due to
minio 单机版安装
4、Citrix MCS云桌面无法安装todesk等软件
Flink / Scala - 使用 CountWindow 实现按条数触发窗口
alibaba数据同步组件canal的实践整理
vant-swipe自适应图片高度+图片预览
Find My技术|智能防丢还得看苹果Find My技术
6、Powershell命令配置Citrix PVS云桌面桌面注销不关机
random.nextint()详解
【mysql知识点整理】--- order by 、group by 出现Using filesort原因详解









