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

本文共 1707 字,大约阅读时间需要 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; } }}

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

转载地址:http://qliuo.baihongyu.com/

你可能感兴趣的文章
企业项目开发--企业中的项目架构以及多环境分配(1)
查看>>
ZOJ 2412 Farm Irrigation
查看>>
C++语言基础(19)-模板的显式具体化
查看>>
[轉]JavaScript获取HTML DOM父,子,临近节点
查看>>
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
查看>>
如何改变Android tab 的高度和字体大小
查看>>
hdu 2853
查看>>
VS2013 MVC Web项目使用内置的IISExpress支持局域网内部机器(手机、PC)访问、调试...
查看>>
Vue.js常用指令:v-show和v-if
查看>>
java自定义接口
查看>>
Codeforces Round #152 (Div. 2) B题 数论
查看>>
马云马化腾等大佬,是如何看待区块链的?
查看>>
10倍于行业增速!海尔冰箱套圈引领
查看>>
Java集合总结【面试题+脑图】,将知识点一网打尽!
查看>>
java基础(十) 数组类型
查看>>
小程序 Canvas绘图不同尺寸设备 UI兼容的两个解决方案
查看>>
产品规划,你通常规划多久的时间线?
查看>>
Android-MVP架构
查看>>
HTML5前端教程分享:CSS浏览器常见兼容问题
查看>>
Material Design之AppBarLayout
查看>>