🗒️678. 有效的括号字符串
2025-6-2
| 2025-6-2
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Jun 2, 2025 12:38 AM
给你一个只包含三种字符的字符串,支持的字符类型分别是 '('')' 和 '*'。请你检验这个字符串是否为有效字符串,如果是 有效 字符串返回 true 。
有效 字符串符合如下规则:
  • 任何左括号 '(' 必须有相应的右括号 ')'
  • 任何右括号 ')' 必须有相应的左括号 '(' 。
  • 左括号 '(' 必须在对应的右括号之前 ')'
  • '*' 可以被视为单个右括号 ')' ,或单个左括号 '(' ,或一个空字符串 ""

三、栈§3.4 合法括号字符串

思路:把 * 当作普通字符,先消除最外层的有效括号,在对剩下的 * 和括号进行处理。
转换一下思路就是优先消除左右括号,保存 *
思路代码
未考虑到 *( 的位置,仅仅通过数量来判断是不对的。
不通过栈来模拟——参考 力扣官方题解

📎 参考

  • 有效的括号字符串
  • 【题单】常用数据结构(前缀和/差分/栈/队列/堆/字典树/并查集/树状数组/线段树)
  • 1006. 笨阶乘1963. 使字符串平衡的最小交换次数
    Loading...