news 2026/5/26 6:31:56

有效的括号(栈)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
有效的括号(栈)

目录

题目要求:

解法思路

复杂度

code

栈的理解

idea

🎬 括号匹配的动画想象


题目要求:

给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

解法思路

使用数据结构:

  1. 遍历字符串的每个字符。

  2. 如果是左括号(([{),压入栈。

  3. 如果是右括号,检查栈顶的左括号是否与之匹配:

    • 若栈为空 → 无效(右括号多余)

    • 栈顶括号不匹配 → 无效

    • 匹配 → 弹出栈顶元素,继续

  4. 遍历完成后,如果栈为空 → 有效;否则无效(左括号多余)

复杂度

  • 时间复杂度:O(n),每个字符入栈或出栈一次。

  • 空间复杂度:O(n),最坏情况下全部左括号入栈。

code

/** * @param {string} s * @return {boolean} */ var isValid = function (s) { const arr = [] for (let i = 0; i < s.length; i++) { const c = s[i] if (c == '(' || c == '{' || c == '[') { arr.push(c) } else { if (!arr.length) return false const top = arr[arr.length - 1] if (top == '(' && c == ')' || top == '{' && c == '}' || top == '[' && c == ']') { arr.pop() // 出栈 } else { return false } } } return arr.length == 0 };

栈的理解

idea

栈就像一个弹簧单托盘餐架(自助餐厅里常见的那种)

  1. 只有一个开口:只能在最上面放盘子或取盘子

  2. 后进先出:最后放上去的盘子会最先被拿走

  3. 只能看到最上面的盘子:不把上面的拿走,就拿不到下面的

在此题括号匹配问题中:

  • 左括号👉放盘子(压栈push

  • 右括号👉取盘子(弹栈pop),但必须和刚放的盘子匹配类型

🎬 括号匹配的动画想象

"({[]})"为例:

步骤1: "(" → 栈:[ "(" ] ↑ 步骤2: "{" → 栈:[ "(", "{" ] ↑ 步骤3: "[" → 栈:[ "(", "{", "[" ] ↑ 步骤4: "]" → 匹配栈顶"[",弹出 → 栈:[ "(", "{" ] ↑ 步骤5: "}" → 匹配栈顶"{",弹出 → 栈:[ "(" ] ↑ 步骤6: ")" → 匹配栈顶"(",弹出 → 栈:[ ] ↑ 结束 → 栈空 ✅ 有效
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 16:18:14

python django flask鹿幸公司员工食堂在线点餐餐饮餐桌预约管理系统的设计与实现_utcnqqs0--论文

文章目录系统截图项目技术简介可行性分析主要运用技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统截图 python django flask鹿幸公司员工食堂在线点餐餐饮餐桌预约管理系统的设计与实现_utcnqqs0–论文 …

作者头像 李华
网站建设 2026/5/25 13:17:22

性价比高的老房换新实用门窗品牌精选指南排名

性价比高的老房换新实用门窗品牌精选指南排名在老房换新的过程中&#xff0c;门窗的更换是至关重要的一环。选择一款性价比高的门窗&#xff0c;不仅能提升居住的舒适度&#xff0c;还能为家居增添美观。以下为大家带来一份实用的门窗品牌精选指南。工厂直营模式&#xff1a;性…

作者头像 李华
网站建设 2026/5/26 2:46:02

好用做老房换新实用门窗品牌精选指南的机构

做老房换新实用门窗的品牌精选指南引言老房换新门窗是提升居住品质的重要工程&#xff0c;然而面对众多的门窗品牌&#xff0c;消费者往往不知如何选择。在众多选择中&#xff0c;工厂直营模式的品牌有着独特的优势。专业评估能力像采用工厂直营模式的这类品牌&#xff0c;具备…

作者头像 李华
网站建设 2026/5/26 3:30:30

灵活用工平台,我的实践复盘

灵活用工平台技术实践复盘&#xff1a;从行业挑战到解决方案的演进行业痛点分析当前&#xff0c;灵活用工平台领域正面临一系列深刻的技术挑战&#xff0c;这些挑战直接关系到平台的稳定性、合规性及用户体验。首要挑战在于海量并发处理与数据精准性。随着灵活用工模式渗透率的…

作者头像 李华
网站建设 2026/5/25 20:21:11

在duckdb 递归CTE中实现深度优先搜索DFS

原帖地址 https://github.com/duckdb/duckdb/discussions/15386 通常的递归CTE都是广度优先搜索&#xff08;BFS&#xff09; WITH RECURSIVE edges(a, b) as( VALUES(1, 2),(1, 3),(2, 4),(4, 5),(4, 6) ), bfs(node, path) AS (SELECT 1 AS node, [] :: STRUCT("from&…

作者头像 李华
网站建设 2026/5/25 22:54:41

基于记忆增强网络的语言模型推理优化

基于记忆增强网络的语言模型推理优化 关键词:记忆增强网络、语言模型、推理优化、注意力机制、深度学习 摘要:本文聚焦于基于记忆增强网络的语言模型推理优化。首先介绍了相关背景,包括研究目的、预期读者、文档结构和术语定义。接着阐述了核心概念,如记忆增强网络和语言模…

作者头像 李华