栈 Stack
文章平均质量分 58
ZhangyiA*
菜鸟学刷题
展开
-
括号匹配(栈)
题目描述 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 力扣:20.有效的括号 示例1: 输入: “()[]{}” 输出: true 示例2: 输入: “([)]” 输出: false 题目分析 该题是 Stack栈 的基础应用,因为 栈先入后出 特点恰好与本题括号排序特点一致,即 若遇到左括号入栈,当遇到右括号时将对应栈顶左原创 2020-12-14 19:45:55 · 120 阅读 · 0 评论 -
力扣:去除重复字母
题目描述 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 提示: 1 <= s.length <= 104 s 由 小写英文 字母组成 力扣: 326.去除重复字符 示例 : 输入:s = “cbacdcbc” 输出:“acdb” 题目分析 本题采用 栈 来维护,主要的目的是 保证字典序最小的同时,不打乱字符的相对位置 思路: 1、首先将字符串 s 通过 hash 映射到长度为 26 的数组中原创 2021-01-03 23:53:10 · 622 阅读 · 3 评论 -
力扣:使括号有效的最少添加
题目分析 给定一个由 ‘(’ 和 ‘)’ 括号组成的字符串 S,我们需要添加最少的括号( ‘(’ 或是 ‘)’,可以在任何位置),以使得到的括号字符串有效。 从形式上讲,只有满足下面几点之一,括号字符串才是有效的: 它是一个空字符串,或者 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 它可以被写作 (A),其中 A 是有效字符串。 给定一个括号字符串,返回为使结果字符串有效而必须添加的最少括号数。 力扣:921.使括号有效的最少添加 示例1: :输入:"(()(原创 2020-12-14 20:00:59 · 347 阅读 · 0 评论