每日一题:20. 有效的括号

2023-05-16

文章目录

  • 0 概览
  • 1 题解
  • 2 Code
  • 3 结果

0 概览


在这里插入图片描述


  • 经典的括号问题

1 题解

  • 栈是一种先进后出的数据结构,处理括号问题的时候尤其有用

  • 遇到左括号就入栈,遇到右括号就去栈中寻找最近的左括号,看是否匹配

2 Code

class Solution {
public:
    bool isValid(string s) {
        //处理括号问题就使用栈
        stack<char> left;
        for (char c : s)
        {
            if (c == '(' || c == '{' || c == '[')
            {
                left.push(c);//碰到左括号就入栈
            }
            else
            {
                if (!left.empty() && left0f(c) == left.top())
                {
                    left.pop();//有和左括号匹配的,就弹出left的元素
                }
                else
                {
                    return false;
                }
            }
        }
        return left.empty();
    }

    char left0f(char c)
    {
        if (c == '}') return '{';
        if (c == ')') return '(';
        return '[';
    }
};

3 结果


在这里插入图片描述


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每日一题:20. 有效的括号 的相关文章

  • 【每日一题-6】栈和队列与替换空格

    两个栈实现一队列 span style font family none font size 12px class Queue void Push int data inStack push data int Pop if inStack
  • LeetCode每日一题

    191 位1的个数 难度简单290 编写一个函数 xff0c 输入是一个无符号整数 xff08 以二进制串的形式 xff09 xff0c 返回其二进制表达式中数字位数为 39 1 39 的个数 xff08 也被称为汉明重量 xff09 提示
  • Leetcode---面试题 08.03. 魔术索引---每日一题---二分查找

    面试题 08 03 魔术索引 魔术索引 在数组A 0 n 1 中 xff0c 有所谓的魔术索引 xff0c 满足条件A i 61 i 给定一个有序整数数组 xff0c 编写一种方法找出魔术索引 xff0c 若有的话 xff0c 在数组A中找
  • 【代码源】每日一题 添加括号

    2022 05 06 题目链接 xff1a 添加括号 题目 Daimayuan Online Judge 题目描述 xff1a 现在给出一个表达式 xff0c 形如 a1 a2 a3 an 如果直接计算 xff0c 就是一个个除过去 xff
  • LeetCode·每日一题·2437. 有效时间的数目·模拟

    作者 xff1a 小迅 链接 xff1a https leetcode cn problems number of valid clock times solutions 2262448 mo ni zhu shi chao ji xian
  • leetcode:20有效的括号——stack

    思路分析 题目匹配的情况有两中 xff1a 和 xff08 xff09 匹配成功的思路是每个 或者其他右包围结构都是和最近的 或者其他左包围结构匹配 最近 匹配的思想应该使用stack结构对数据进行操作 代码框架 1 遍历整个string
  • 每日一题:20. 有效的括号

    文章目录 0 概览1 题解2 Code3 结果 0 概览 经典的括号问题 1 题解 栈是一种先进后出的数据结构 xff0c 处理括号问题的时候尤其有用 遇到左括号就入栈 xff0c 遇到右括号就去栈中寻找最近的左括号 xff0c 看是否匹配
  • Python:最低要求

    描述 体育老师以小组为单位 考查大家的仰卧起坐的成绩 只要一个小组所有人仰卧起坐的个数之和 达到老师的要求 则整个小组就算过关 因此 程序会接收这样两个信息 一个是小组成绩清单 一个是老师的个数要求 只要小组成绩达到或超过老师的个数要求 程
  • 寒假每日一题题解(2.8)不高兴的津津(依旧是模拟水题啊!!)

    不高兴的津津 依旧是模拟水题啊 津津上初中了 妈妈认为津津应该更加用功学习 所以津津除了上学之外 还要参加妈妈为她报名的各科复习班 另外每周妈妈还会送她去学习朗诵 舞蹈和钢琴 但是津津如果一天上课超过八个小时就会不高兴 而且上得越久就会越不
  • 【面试八股文】每日一题:谈谈你对设计模式的理解

    谈谈你对设计模式的理解 每日一题 设计模式 谈谈你对设计模式的理解 面试八股文 设计模式 Design pattern 是一套被反复使用 多数人知晓的 经过分类编目的 代码设计经验的总结 通过对这些设计模式的合理使用能够是我们的系统更加的健
  • Python:统计子矩阵(前缀和、尺取法)

    问题描述 给定一个 N M 的矩阵 A 请你统计有多少个子矩阵 最小 1 1 最大 N M 满足子矩阵中所有数的和不超过给定的整数 K 输入格式 第一行包含三个整数 N M 和 K 之后 N 行每行包含 M 个整数 代表矩阵 A 输出格式
  • 蓝桥杯——砝码称重(JAVA)

    题目 你有一架天平和 N个砝码 这 N 个砝码重量依次是 W 1 W 2 W N 请你计算一共可以称出多少种不同的重量 注意砝码可以放在天平两边 输入格式 输入的第一行包含一个整数 N 第二行包含 N 个整数 W 1 W 2 W 3 W N
  • 字符串中找出连续最长数字串(两种题型)--C++

    题目描述一 读入一个字符串str 输出字符串str中的连续最长的数字串 输入描述 个测试输入包含1个测试用例 一个字符串str 长度不超过255 输出描述 在一行内输出str中里连续最长的数字串 输入 abcd12345ed125ss123
  • python每日一题(leetcode/atcoder/nowcoder)

    背景 用leetcode每日一题 正好练一练python的一些写法吧 2021年2月28日 896 单调队列 判断数组是单增的或者是单减的 学习到一个sorted的用法 还有倒序的切片 class Solution def isMonoto
  • Leetcode 题组 28

    112 路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 判断该树中是否存在 根节点到叶子节点 的路径 这条路径上所有节点值相加等于目标和 targetSum 叶子节点 是指没有子节点的节点 示例 1 输入
  • 【每日一题】字符串中找出连续最长的数字串(字符串、贪心)

    题目来源 牛客网 链接 字符串中找出连续最长的数字串 题目描述 读入一个字符串str 输出字符串str中的连续最长的数字串 输入描述 测试输入包含1个测试用例 一个字符串str 长度不超过255 输出描述 在一行内输出str中里连续最长的数
  • Python:统计数字

    目录 题目描述 输入描述 输出描述 输入输出样例 参考代码 sort 与 sorted 区别 题目描述 某次科研调查时得到了 n 个自然数 每个数均不超过 1 5 10 9 已知不相同的数不超过 10 4个 现在需要统计这些自然数各自出现的
  • Python:等差数列

    题目描述 数学老师给小明出了一道等差数列求和的题目 但是粗心的小明忘记了一 部分的数列 只记得其中 N 个整数 现在给出这 N 个整数 小明想知道包含这 N 个整数的最短的等差数列有几项 输入描述 输入的第一行包含一个整数 N 第二行包含
  • Python:每日一题之最少砝码

    问题描述 你有一架天平 现在你要设计一套砝码 使得利用这些砝码可以称出任意 小于等于 N 的正整数重量 那么这套砝码最少需要包含多少个砝码 注意砝码可以放在天平两边 输入格式 输入包含一个正整数 N 输出格式 输出一个整数代表答案 样例输入
  • 【每日一题】leetcode 二叉树层序遍历 - 介绍

    层序遍历 遍历顺序为 F B G A D I C E H 一层一层遍历 代码 import java util ArrayList import java util LinkedList import java util List impo

随机推荐