博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LeetCode算法-20】Valid Parentheses
阅读量:5082 次
发布时间:2019-06-13

本文共 1764 字,大约阅读时间需要 5 分钟。

LeetCode第20题

Given a string containing just the characters '('')''{''}''[' and ']', determine if the input string is valid.

An input string is valid if:

  1. Open brackets must be closed by the same type of brackets.
  2. 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) {        if(s.length()>Integer.MAX_VALUE){            return true;        }        for(int i = 0;i<3;i++){            for(int j = 0;j

结果

搞这么多符号,这不故意整我吗

百度了下,都说用,代码如下

class Solution {    public boolean isValid(String s) {        Stack
stack = new Stack
(); for (int i = 0; i < s.length(); i++) { char candidate = s.charAt(i); if (candidate == '{' || candidate == '[' || candidate == '(') { stack.push(candidate + ""); } else { if (stack.isEmpty()) { return false; } if ((candidate == '}' && stack.peek().equals("{")) || (candidate == ']' && stack.peek().equals("[")) || (candidate == ')' && stack.peek().equals("("))) { stack.pop(); } else { return false; } } } if (stack.isEmpty()) { return true; } else { return false; } }}

就是利用后进先出的原理,其实跟我的思路差不多,但是性能要好很多,哈哈

转载于:https://www.cnblogs.com/anni-qianqian/p/9061561.html

你可能感兴趣的文章
CP15 协处理器寄存器解读
查看>>
【codeforces 787B】Not Afraid
查看>>
【9111】高精度除法(高精度除高精度)
查看>>
【hihocoder 1312】搜索三·启发式搜索(普通广搜做法)
查看>>
JavaFX中ObservableValue类型
查看>>
杭电 1097 A hard puzzle
查看>>
[转载]INFORMIX锁机制及如何剖析其锁申辩(第二部门)
查看>>
Andriod-项目stymqjlb-学习笔记2-原型
查看>>
Web AppDomain
查看>>
JQuery创建规范插件
查看>>
AD 域服务简介(三)- Java 对 AD 域用户的增删改查操作
查看>>
Unity中Text渐变色,和Text间距
查看>>
P4932 浏览器
查看>>
Concurrency Kit 0.2.13 发布,并发工具包
查看>>
SQL Relay 0.50 发布,数据库负载均衡器
查看>>
Infinispan 5.3.0.Alpha1 发布
查看>>
设计模式学习笔记——原型模式(Prototype)
查看>>
算法普林斯顿
查看>>
Struts2之类范围拦截器和方法拦截器
查看>>
模型层(练习)
查看>>