20. Valid Parentheses (JAVA)
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
Note that an empty string is also considered valid.
Example 1:
Input: "()"
Output: true
Example 2:
Input: "()[]{}"
Output: true
Example 3:
Input: "(]"
Output: false
Example 4:
Input: "([)]"
Output: false
Example 5:
Input: "{[]}"
Output: true
class Solution {
    public boolean isValid(String s) {
        Stack<Character> stack = new Stack<>(); //Primitive types such as char cannot be used as type parameters in Java. You need to use the wrapper type
        for(int i = 0; i < s.length(); i++){
            if(s.charAt(i) == '(' || s.charAt(i) == '[' || s.charAt(i) == '{'){
                stack.push(s.charAt(i));
            }
            else if(s.charAt(i) == ')') {
                if(stack.empty() || stack.peek() != '(') return false;
                stack.pop();
            }
            else if(s.charAt(i) == ']'){
                if(stack.empty() || stack.peek() != '[') return false;
                stack.pop();
            }
            else if(s.charAt(i) == '}'){
                if(stack.empty() || stack.peek() != '{') return false;
                stack.pop();
            }
        }
        if(!stack.empty()) return false;
        return true;
    }
}
20. Valid Parentheses (JAVA)的更多相关文章
- LeetCode解题笔记 - 20. Valid Parentheses
		这星期听别人说在做LeetCode,让他分享一题来看看.试了感觉挺有意思,可以培养自己的思路,还能方便的查看优秀的解决方案.准备自己也开始. 解决方案通常有多种多样,我觉得把自己的解决思路记录下来,阶 ... 
- [Leetcode][Python]20: Valid Parentheses
		# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 20: Valid Parentheseshttps://oj.leetcod ... 
- 20. Valid Parentheses【leetcode】
		20. Valid Parentheses Given a string containing just the characters '(', ')', '{', '}', '[' and ']', ... 
- leetcode 20. Valid Parentheses 、32. Longest Valid Parentheses 、
		20. Valid Parentheses 错误解法: "[])"就会报错,没考虑到出现')'.']'.'}'时,stack为空的情况,这种情况也无法匹配 class Soluti ... 
- 《LeetBook》leetcode题解(20):Valid Parentheses[E]——栈解决括号匹配问题
		我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ... 
- leetCode练题——20. Valid Parentheses
		1.题目 20. Valid Parentheses——Easy Given a string containing just the characters '(', ')', '{', '}', ... 
- 刷题20. Valid Parentheses
		一.题目说明 这个题目是20. Valid Parentheses,简单来说就是括号匹配.在学数据结构的时候,用栈可以解决.题目难度是Medium. 二.我的解答 栈涉及的内容不多,push.pop. ... 
- C# 写 LeetCode easy #20 Valid Parentheses
		20.Valid Parentheses Given a string containing just the characters '(', ')', '{', '}', '[' and ']', ... 
- [LeetCode] 20. Valid Parentheses 验证括号
		Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ... 
随机推荐
- ftp服务器使用-windowsftp服务起搭建
			首先打开控制面板选择程序 点击启动或关闭windows功能 勾选ftp服务器和IIS管理控制台点击确定 然后右键点击我的电脑,点击管理,然后点击本地用户和组,然后右键点击用户,点击新用户,创建一个用户 ... 
- python初识,变量,条件判断语句,基本数据类型,while循环语句
			python文件后缀可以是任意,但是导入模块时不用.py后缀时会报错 python文件的两种执行方式: python解释器 python文件路径 进入python解释权,事实获取执行结果 在Linux ... 
- perl IDE
			学习perl的网站 网上学习perl教程,可以参考下面2个网站: 1.http://www.runoob.com/perl/perl-tutorial.html 2.https://cn.perlma ... 
- (转)GraphicsMagick、命令行使用示例
			GraphicsMagick是从 ImageMagick 5.5.2 分支出来的,但是现在他变得更稳定和优秀,GM更小更容易安装.GM更有效率.GM的手册非常丰富GraphicsMagick的命令与I ... 
- C#异步方法
			Task MainTask; MainTask = Task.Factory.StartNew(() => { //耗时的异步逻辑 }); 
- java-设计模式-索引
			设计模式的七大原则 设计模式遵循的七大原则 微信红包的设计实践 单例模式 常见的几种单例模式写法 单例模式的应用场景及优缺点 面向对象六大设计原则 JAVA设计模式之观察者模式 JAVA设计模式之策略 ... 
- Django:学习笔记
			学习视频:链接:https://pan.baidu.com/s/1KzKUYVLQOlagMfSzq1MEDw 密码:y3qq Django 版本对应的 Python 版本: Djang ... 
- c语言小项目---通讯录2.0
			自从上次通讯录项目被字符串项目整的自闭了之后,用了5天时间重新整理了一下通讯录的思路,并且能够正常的使用,今天按模块把基于链表的通讯录2.0版本记录一下,供后续积累经验. 首先总结一下 通讯录2.0版 ... 
- drf框架之 路飞学城(第二天)
			1.第二天的项目是用户购物的数据存入到购物车中,这样保存的数据是存放在redis中 1. 首先先配置redis的数据库链接: #注意, 数据从redis中获取到的内容,最原始的是二进制形式的数据,想要 ... 
- C#调用C++的dll EntryPointNotFoundException
			问题描述:不带参数的函数可以通过C#调用,含有参数的函数报错: EntryPointNotFoundException:此外,采用depends可以查看到所有导出函数. 此问题解决方案:步骤1:在C+ ... 
