当前位置:网站首页>01.有效的括号
01.有效的括号
2022-07-19 02:47:00 【ice-cold-wood】
使用类:
Stack
类代表最先进先出(LIFO)堆栈的对象
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
例如:
输入:s = "([)]" 输出:falseimport java.util.Scanner; import java.util.Stack; public class demo02 { public static boolean isValid(String s) { Stack<Character> stk = new Stack(); for(Character c : s.toCharArray()){ // 如果c是 ({[ 则入栈¬ if(c == '(' || c == '{' || c == '[' ) stk.push(c); // 如果c是 )}] 并且栈不为空 则 判断栈顶是否为与之对应的左括号 是则出栈,不是则返回fasle else if(c == ')' && !stk.empty() && stk.peek() == '(') { stk.pop(); } else if(c == '}' && !stk.empty() && stk.peek() == '{') { stk.pop(); } else if(c == ']' && !stk.empty() && stk.peek() == '[') { stk.pop(); }else { return false; } } // 如果最后栈不为空,那么就是有多余的左括号了 return stk.empty();} public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); boolean a = isValid(s); System.out.println(a); } }
边栏推荐
猜你喜欢
随机推荐
为什么调试器会显示错误的函数
Regression analysis model
云笔记有什么功能作用,浏览器如何添加云笔记插件
这几款实用的安全浏览器插件,让你效率提高
UXDB如何在多个处理器上工作
牛客网 - BM39 序列化二叉树 [Hard]
[haoi2012] volume adjustment (up to backpack)
Mark and Lightbulbs(思维)
Detailed WC find xargs zip gzip bzip2 XZ tar SFTP command or protocol
天气预报仪触摸芯片-DLT8SA15A-杰力科创
如何选择云笔记工具?可以用云笔记做什么?
【文献阅读】NPE: An FPGA-based Overlay Processor for Natural Language
当一切皆可元宇宙之时,元宇宙的发展似乎已经进入到了全新的发展阶段
基于yarn1.x的monorepo实践分享
Silicon Valley class lesson 8 - Tencent cloud on demand management module (3)
DDD领域驱动设计如何进行工程化落地
【C语言刷LeetCode】1462. 课程表 IV(M)
机器人工程的工作与考研之困惑“卷”补充
Numpy學習
CD 从抓轨到搭建流媒体服务器 —— 以《月临寐乡》为例