LeetCode 020 Valid Parentheses
题目描述:Valid Parentheses
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.
分析:
栈
代码如下:
class Solution {
public:
    bool isValid(string s) {
        string left = "([{";
        string right = ")]}";
        stack<char> stk;
        for(auto c : s){
            //如果是"([{",则压入栈中
            if(left.find(c) != string::npos){
                stk.push(c);
            }
            //如果不是"([{",则匹配
            else{
                if(stk.empty() || stk.top() != left[right.find(c)])
                    return false;
                else stk.pop();
            }
        }
        return stk.empty();
    }
};
Java:
    public boolean isValid(String s) {
        HashMap<Character, Character> map = new HashMap<Character, Character>();
        map.put('(', ')');
        map.put('[', ']');
        map.put('{', '}');
        Stack<Character> stack = new Stack<Character>();
        for (int i = 0; i < s.length(); i++) {
            char curr = s.charAt(i);
            if (map.keySet().contains(curr)) {
                stack.push(curr);
            } else if (map.values().contains(curr)) {
                if (!stack.empty() && map.get(stack.peek()) == curr) {
                    stack.pop();
                } else {
                    return false;
                }
            }
        }
        return stack.empty();
    }
LeetCode 020 Valid Parentheses的更多相关文章
- 【JAVA、C++】LeetCode 020 Valid Parentheses
		Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ... 
- [Leetcode][020] Valid Parentheses (Java)
		题目在这里: https://leetcode.com/problems/valid-parentheses/ [标签]Stack; String [个人分析]这个题应该算是Stack的经典应用.先进 ... 
- [LeetCode] Longest Valid Parentheses 最长有效括号
		Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ... 
- [LeetCode] Longest Valid Parentheses 解题思路
		Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ... 
- [Leetcode] longest valid parentheses 最长的有效括号
		Given a string containing just the characters'('and')', find the length of the longest valid (well-f ... 
- [LeetCode] Longest Valid Parentheses -- 挂动态规划羊头卖stack的狗肉
		(Version 1.3) 这题在LeetCode上的标签比较有欺骗性,虽然标签写着有DP,但是实际上根本不需要使用动态规划,相反的,使用动态规划反而会在LeetCode OJ上面超时.这题正确的做法 ... 
- [LeetCode] 20. Valid Parentheses 验证括号
		Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ... 
- [LeetCode] 20. Valid Parentheses 合法括号
		Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ... 
- [LeetCode] Longest Valid Parentheses
		第一种方法,用栈实现,最容易想到,也比较容易实现,每次碰到‘)’时update max_len,由于要保存之前的‘(’的index,所以space complexity 是O(n) // 使用栈,时间 ... 
随机推荐
- 02.django配置跨域并开发测试接口
			1.创建一个测试项目 1.1 创建项目和APP '''1.创建项目和APP''' django-admin startproject BookManage # 创建项目 python mana ... 
- Amdocs收购OPENET:关于5G应用落地的思考
			今年8月,全球通讯和媒体领导者之一Amdocs收购了Openet.在VoltDB,听到这个消息,我们感到非常高兴和自豪!在过去的7年里,我们一直是Openet解决方案的基础数据平台. 尽管许多供应商仍 ... 
- 一款基于.NET Core的认证授权解决方案-葫芦藤1.0开源啦
			背景 18年公司准备在技术上进行转型,而公司技术团队是互相独立的,新技术的推动阻力很大.我们需要找到一个切入点.公司的项目很多,而各个系统之间又不互通,导致每套系统都有一套登录体系,给员工和客户都带来 ... 
- 说说 C# 9 新特性的实际运用
			你一定会好奇:"老周,你去哪开飞机了?这么久没写博客了." 老周:"我买不起飞机,开了个铁矿,挖了一年半的石头.谁知铁矿垮了,压死了几条蜈蚣,什么也没挖着." ... 
- 【SpringCloud】02.微服务与SpringCloud
			微服务的特点 一系列微小的服务共同组成 跑在自己的进程里 每个服务为独立的业务开发 独立部署 分布式管理 异构--不同的语言.不同类型的数据库 微服务架构的基础框架/组件 服务注册发现 服务网关(Se ... 
- mongoDB之C#and.net Driver
			之前一直都是用NodeJS来连接操作mongoDB的,但是最近需要用C#操作mongoDB的需要,所以研究了下C#驱动.mongoDB官方在GitHub上提供了C#驱动源码https://github ... 
- 【填坑往事】Android手机锁屏人脸解锁优化过程实录
			背景 写这篇文章,主要是为了以后面试方便.因为我简历上写了,上一份工作的最大亮点是将人脸解锁的速度由1200ms优化到了600ms,所以这些内容已经回答无数遍了.但每次总觉得回答的不完整,或者说总感觉 ... 
- OpenCV计算机视觉学习(11)——图像空间几何变换(图像缩放,图像旋转,图像翻转,图像平移,仿射变换,镜像变换)
			如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 图像 ... 
- python_面向对象_组合
			组合: 一个类的对象是另外一个类对象的属性 # 组合 # 一个类的对象是另一个类对象的属性 # 什么时候使用组合:当两个类之间的关系是 :什么有什么的关系 : 班级有学生 学生有班级 班级有课程 图书 ... 
- Kafka 消费者及消费者分区策略
			消费方式: consumer 采用 pull(拉)模式从 broker 中读取数据. push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由 broker 决定的. 它的目标是尽可能以最 ... 
