【栈1】合法括号判断 - Java版
前言
- 栈的定义
- Java栈的讲解(Java自带的Stack容器)
1. 栈的定义
栈(Stack)是一种常见的线性数据结构,它遵循"后进先出"(LIFO,Last In First Out)原则。即最后压入栈的元素最先被弹出。
P14120.【栈1】合法括号判断
题目描述
给定一个只包含以下两种字符的字符串:'('和')'请判断这个字符串是否是一个合法的括号序列。一个合法的括号序列必须满足以下条件:
- 左括号必须有对应的右括号。
- 每个右括号必须在其对应的左括号之后出现。
- 括号必须是成对的,且嵌套的括号必须是有效的。
例如,字符串 "()"和"(())是合法的括号序列,而 "(()" 和 "(((" 则不是。
输入
输入包含一个字符串 s,长度 ∣s∣ (2≤∣s∣≤105),字符串只包含以下字符:'(', ')'
输出
如果字符串是合法的括号序列,输出 "Yes";否则,输出 "No".
示例
输入
(())
输出
Yes
输入
(((())
输出
No
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写