题目:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvcAAABJCAIAAAA2Qp7AAAAQY0lEQVR4nO2dO3byPBCG/82wAtYRFsAeviIroE+bDbjKCrIBV5Qp0uScVO5oA4EkhwP8BRfrMiONLAls8T6HIoCtuWgkvZYh/HcAAAAAACiR/27tAAAAAABAFqByAAAAAFAmUDkAAAAAKBOoHAAAAACUCVQOAAAAAMoEKgeAXOx3++3m92+1/lt+Rz1W6+3mZ7/bwVyp5lIxULcByAdUDgBZ2O/2CRYbfeHZ7/cwV565VAzUbQCyApUDQBa2m9+U683y+2/5vd38wlx55lIxULcByEohKqdpmlu74GcQTjrg/B96XBfSBpL4qvr4WK1hrjxzqRiE28OdLnrreZBjvY0iH7TKqWdjhWnVqO+oT/tAU005n/rjrcPJC15vk4TTrRHOf/X1ejYez+pI91SSN+hA0kFhpF9vlt9/y2+YK89cF6jBcWO3/eM1/ShLPyueFz+90VQTXfIlKSiludfKTAvupVmmfV+H2Cqnno31U6wXekaOkZOcQTjpAConGGLBeH95G00+XomFZPGov84fGWXu/eXt4eUrxLH46BaPk/loMn+sc5v7ev5nGsob3WfzMJmPJnM7yYHmuiBUObYzr09Hn+dGJcS7fRuVkxgmiKwTXQypVE6f8YmnUJVDHq/k5mTPOEx52lRTew+ono2nVX15h/FYOZXTVVbryguz+nBoqum0qmbnA3QNSDtw2bc6nkiZvRjRHJdHajjJRer1Nkk4aiPK264utPy3MzCrT01UpFdkrrxJ5hukE2j0Pl9Rpi07QNJhs313VNRlcf1BLSRfz/+stZk+MmxhphpZPFI6IJu5v/eXt9HT4mrmlvXH6F/zfh1zn82DbSvEnGMe6DS65SVH6d3gLDldsgdHp1FWV9Px5el4PKtbg6dGJLOid/5R1jVrtkg60ckm+fb1ixvkdM3NzKQrV1grWzniTgSrHyQrY5sotzMthsoR3zTR3Lw80aSiro20qvQGTu8fqYfoiTm311RTS3OcV3TKAeXPU37JnrOja6qp7osnUvZSQIlU4m2ScJwqx59kFTMuX+xcQ2SSXWFSCbR7n8sz3aHU3+oTvX06US3MkmOti6wOIFfQ0IWZXPKFL6Yw9/pk7hnkjc7aFctozqFyJOZc9SmZQ7qXHKtywrLEu+QaQWGj7DiP2YlpT/DOisL5h5pc/JF2NuSa3HQZaMxaB/2Zb0JlD860VlrygEworR8kK2Or2NxjQUVXOU019WzFUWsk7aTaHLtt4LLjSY1mhRw5ohXd3CCQGTUTxaTArxLUY7y7LCnCCVI5esBhd6z8VUEmgX+VKxtJkoMCZB3W2/eVMbXkEI/F4+Tt+VN4cODCTD+oraNs5miVkzE6SuVkMsepnGBzh4MxzAXjSCqsmQd37zLIbc4lyQgSjjLrctL6O3RCIxe5YJUTbcgxyQtyGqRy6CgyrJWkyqGh9AN7iKVyBGNBxalytO0jc8vITr++26SeJlc5R13G7MEpFgwv1Z7To3f1HKtVDJN2EdXGntflKHkt2pHGqhxJOAIr3iRz6eG9oqvCl2RP2dgJ5KYV7TDGVvsy7zA7PMhqlq037AV0Ph3A7B7lMff6JFdUSaILUo1x5pKoHHIeYMaReW/kxiqHc8k9gsJGmWZDnXalKkcy/yRROYGGvJO8YTf0+vkGa6XSiGduPOj9px/kXhmnVSMaCyqyO1bE9uDFu7D9CvuZEZu71vQ02JtXg1A5XKQ9UTneJHPpkc3OFIEqh0ug3fvEYSKVQztMDyY9US2y9ab+EAuOVDogSFpFmKs/yM8CZ4/u+DFkUYBx5iJVjmMeGL7K4UdQ2ChLonJ8808ylRNgKLfKUQ681lppr4vc3Ki0oDYkWRkTqBzGeVLlHI+tFAOsNBGoHCM/TpWj+9S95wyjV7pjxUYaq3JE4YhVzqUNK8nkAU6vPF3pEr7eMFmVwx3mK3HeYcdgIvIjFhylqpyz4MBeDmnONQ8IxhFVpQE1cNU7VhfCR1m0yhHNPylUTqAh1yWcP6dilaM7n3mttFSObt0+2NIP/pWRkHzezDPfJDeF0ti+Y9W+o5ekXofiBVV9UbPoOCZWn1JbLK61Vmndul1MjhFO5dCRRqscaTjKpqIajj2a/JdegsHPVoU3yYLZREugpXLYPNMdqlYR5bC7/c57OaXfscLnckhzgvrUD1MHLD26w2ogXuWwLrlGUNgoi1c50vknWuWEGXKpHC2npzaY6VqyD37VtdJSIe5dO7UZ0cpoL16cMy30fwU0bjFSuWiP05tXT7UrknimNq0Y5K/uLa+UZIX2nNrktKqYb5jRNxmVSNuzWENqjzKRxqscSTjmTHE6uNbFhSvJVG5mtdMrsiq8SWYbZBJI7bCRFUV1qB4g6bCjfaJW5aty6KePySsmeQuhnz6OMheuciKjC1U5EeZiP5fDzwPecST/JjnzCFQ5ZJacLtFDPniUJVA5rDN6V3j2mBJNdCKVM5vNqDbo6ZqbmW+xVupp5OdG1RvBjG2rnANXeGShFvILD2ngh/IgocMpLMj+ErDehNy0OhwOh6aaddcBYbtHseY67OVERRe+l9PdXNLvWKVA7knwXg6VJZABTmX1jEEtI/etcrRNRdmnx/qMJJzhRzkU5D8qFLC5slofmBVHaI75r4C5zIVpuHhzQRou1lygyunV71jJVQ6fJZCBvqqcIa+V961yRLdShoQ7HG5vE+Rgu/mRLjniHYjt5ifKXOD3umPNLb//HD+8kNqc3FCi6JhfeAg3lwppDZC/8HA7t4FCX1XOkNfKe1c5AGRiv9sl/o3o1Xq/28FceeZSMVC3AcgKVA4Audjv9tvNb4KFZ7Xebn686w3MDddcKgbqNgD5gMoBAAAAQJlA5QAAAACgTKByAAAAAFAmUDkAAAAAKBOoHAAAAACUCVQOAAAAAMoEKgcAAAAAZQKVAwAAAIAygcoBAAAAQJlA5QAAAACgTKByAAAAAFAmUDkAAAAAKBOoHAAAAACUCVQOAAAAAMoEKgcAAAAAZQKVAwAAAIAygcoBAAAAQJlA5QAAAACgTKByAAAAAFAmUDkAAAAAKBOoHAAAAACUCVQOAAAAAMoEKgeAa7Df7beb37/V+m/5nf6xWm83P/vdroRYhp+fUkENDz3q+wQqB4Ds7Hf7a8ynq/V+vy8klsHmp1RQw0OP+m6BygEgO9vN73Wmy+3mt5hYBpqfUkENDz3qu+WOVE7TNHdoujND9FmlV/5f78JxtS4nlmHmpwzs4YMaHnrUQfRq/oxEUzlNNR1TzOrD4VDPTn90IObcJG021XQ8rW7SbUGm61kuN4NaVn3O0Xe5SdrdKRJwzekyTdRHqNhvvx70Jz/SJB6LMX50+5qiazW0gunhM9Q+Gk4Np4w6ihsul1lg9nKIMKFyutETlRMEVI5CBpXz9fxvPnpaLOuP0eTt+dN4d/E4+Xg9P31/eXt4+Qo5PU3URwQrRGQsf8vP5mEyH03mI+XI16fjK3Pr+MXjZD6azB9rxXr79Nr5kSYxucrh37+Wygnod6o3h1rDZLmShX3bqKO4c5VTXXZ71HeVPSA6N8a5l5prqum0qmbtmfpuUlubl9fb9pXiPb6rPVEPVl6Z1X53j7GfvBqPZ/Whnqmnm+PGckRp2TRtGbKDujyh3WScl3SBMtXWZD9aTc3quH4nY+RONIrBqg1v6Ex3s9Gxpo9ZOh9UzfSKlZxuYl63vT7NR0+L5WfzYE52X8//jDV78Wiu4o7TibmSHlOOMuBizxPL8rN5+Ne8U1e39uLx/vI2elqYR9YfI72FBPkRl58w1YzKMZbg9mlAU57+4qdfch5jh09MvxO9OdQapsuVKuxMUXeoTEei/MtlAYSpHG2dV5KircxEorVzm2qqDWVSuJzOOT67vE7tMSjN8c4of6pGyIscVTOpjrdtMCqHbpnTxVxQSuGqjdmWGRN8F6jrt92PZgrUPMf0uxUjE5pZDMRTyhxrghOwQtNU+K7qcl/7ELPqw8vX8rN5UC8TQ1Zx8nRirnSNKV+3asfkiiVI5ZxsEWuMZjpBfoTlJ0w1v5djnWR/PMDZlL+/+OmXu1qT3bEK63dqvR9kDXPlahd2pqg7ViaXKG4+vOO9HPfSfj7TGmfcFYszm6wJ9W19mWadYVQOGzupgxiHPH5KpkT11cuelvru+WjyLGkXOCUa63NEv7MikgrNTJT+lDMXlHOhaa5aJdXFQCzh1GPxSFzh/XEXx8zD4YYSgqxbBbv90bFkUDkJ8iMrP2mqHXeslKa5qcnRlKC/pAUdqnIC+525Xzm4GmbLVbSDdZvKZBIlnYoHT6zK0TfVuG0zY3hfWme7RN0yc+rTsXX5Tzpj7SU4NuQ0e7WxM+ydHayWafc9Oy7mfKhlzDAR2AVpVI7EKB2jMzQjb94YHXLGtZ/lNG2efH7TXV3uNU82qzKXg0v++lg6V5pjytWtVOw5YwlUOZTaY1fW7vkRlZ841Q6V47hK8jcl6S9++s2hcpz9HrXe96SGneVqD9L0UXeoTF4O8vMhVA5fUjRClXPqUWPTxbMZorTNO8PegSNKorvKIVtOq3IIE4FdkE7l+IwmVjncLahrqhy+uhKpHE7K8IuHZ66kx9RVVghhLEKVU39YnzJWH1/P/+ayFMnyIyo/capdKud8pNoj0qZ6qXKYfu++3veqhvlyJQdp+qg7ViZUjkX3O1Yk3B6iXoBG0j0mqO011pmQVTJa5eitJL1jRZqQdkHWO1aMTdprdpuUUzmsOb//4aa5anVWV09VDjemhN1KhZw6loC9HO7OXfe9HDY/svKTptqpco6HVopBeVOC/pIWdG9VTr9q+FoqJ2FlconCHSupyjnumWlKgLx+v2y4qYfwHXbaiTMXZuUE5ei2Rc4ZRgmRvelXOU3VfnLn6Kg1utpGuIrhglICUa/sbImimxB0QVKVI+53K0YmNLfKYc2xJjhRKzSt1pYv5B7fsRKMKbujqNjzxXLTz+Ww+RGWnzDVbpVzPvxiL6Apf3+5p19iHuvbHat+1fC17lglrExRoszCgMoxnqk3B7mLFeWbbO0hlJhs70EqNloL5ExgDV3LGXUeUaxQi5Nf5ahtHOPShpTRsjmFaYbsoC7mlECUpDLOy7pAqnJUn2P6nYyRC82tcnhzlAk25yLT6mH8N8n1niK78IJwAc7x6WNmTEm6VfYt3NhYbvzpYyY/4vITpdqjcvTlJrQpT3/x0++Bm8fI4RPZ7zGfUOlTDV/v08fpKlM2h9tzql5zw+WOfuEBgGvQVLOuKkf87euAuTI5qWPp03esAE9cv6f7ttGNY4n7Jjkq8xZA5QCQEkrkBPxujuw/6fGPPv0G0M3+K+BN81MqMf0ett73uobj/isgKvMWQOUAkJ3t5kcqU+z/ji+XOMvv7eZnaLGE/cKD8ZMO5C883DY/pRLV70xvDq+GuXK1K7B/Ud8tUDkAZGe/213jZ5BX6/1uV0gsg81PqaCGhx713QKVA8A12O/2281vrrl1td5ufq42UeaNZfj5KRXU8NCjvk+gcgAAAABQJlA5AAAAACgTqBwAAAAAlAlUDgAAAADKBCoHAAAAAGUClQMAAACAMoHKAQAAAECZ/A+2rcNQDQOswwAAAABJRU5ErkJggg==" alt="" />

思路:用Stack基本操作完成。

要检测输入字符是否满足这个条件,一个非常合适的数据结构是stack,后进先出的特征正好满足检测的需求。在检测的时候,每次检查一个字符,如果是左括号,就入栈,如果是右括号,并且右括号和当前栈顶符号是左右配对的,那么就弹出栈顶并且进行下一次检测,如果不满足上面两种情况,就说明检查到了一个非法字符,返回false.

public class Solution {
public boolean isValid(String s) {
if(s.length()==0){
return true;
}
Stack<Character> st=new Stack<Character>();
st.push(s.charAt(0));
for(int i=1;i<s.length();i++){
if(!st.empty()&&isMatch(st.peek(),s.charAt(i))){
st.pop();
}else
st.push(s.charAt(i));
}
if(st.empty()){
return true;
}
return false;
} public static boolean isMatch(char s,char p){
if((s=='('&&p==')')||(s=='['&&p==']')||(s=='{'&&p=='}')){
return true;
}else
return false;
}
}

【LeetCode】20. Valid Parentheses的更多相关文章

  1. 【LeetCode】20. Valid Parentheses 有效的括号

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人公众号:负雪明烛 本文关键词:有效,括号,括号匹配,栈,题解,leetcode, 力扣 ...

  2. 【leetcode】Longest Valid Parentheses

    Longest Valid Parentheses Given a string containing just the characters '(' and ')', find the length ...

  3. 【leetcode】 Longest Valid Parentheses (hard)★

    Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...

  4. 【一天一道LeetCode】#20. Valid Parentheses

    一天一道LeetCode系列 (一)题目 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', ...

  5. 【LeetCode】020. Valid Parentheses

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

  6. 【LeetCode】593. Valid Square 解题报告(Python)

    [LeetCode]593. Valid Square 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地 ...

  7. 【LeetCode】36. Valid Sudoku 解题报告(Python)

    [LeetCode]36. Valid Sudoku 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址 ...

  8. 【LeetCode】678. Valid Parenthesis String 解题报告(Python)

    [LeetCode]678. Valid Parenthesis String 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人 ...

  9. [Leetcode][Python]20: Valid Parentheses

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 20: Valid Parentheseshttps://oj.leetcod ...

随机推荐

  1. Linux下查看进程打开的文件句柄数和如何修改

    修改文件句柄数在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面).系统默认值1024. 对于一般的应用来说(象Apache.系统进 ...

  2. 【WEB】原理 之 线程池

    问题描述:我们获取连接超过连接池最大值时产生如上异常.通常连接池最大值为100.当我们获取连接超过最大值时,WEB等待连接池返回连接而超时,这样将抛出如上异常解决办法:首先要做的是在我们使用连接后立即 ...

  3. nginx 出现 13: Permission denied

    原文地址:http://www.nginx.cn/695.html 前段时间把程序员的wordpress升级到3.5.1,本身如果没有特别的插件,在后台更新就能完成. 更新完成后在后台发布文章,编辑器 ...

  4. spark IDEA开发环境搭建及运行问题

    下图是例子: 还用说么,引入相关jar包(等下再一一说明)  包括scala,spark-assembly-1.4.1-hadoop2.5.0-cdh5.2.1.jar(按照你的spark和hadoo ...

  5. iframe替代方案

    自己写一个pagelet框架.封装成JSP的Taglib. <tms:view header="common-header" footer="common-foot ...

  6. bug_ _java.lang.RuntimeException: Unable to start activity ComponentInfo{包名/类名}

      写这篇博文,我顶着很大的压力,贴出来会引来网友的一片鄙视,不贴我又觉得对不起Android SDK研发团队. 本着对全世界Android无产者负责的态度,今天不得不指出Android编译时隐藏的很 ...

  7. 基于ZooKeeper的分布式Session实现(转)

    1.   认识ZooKeeper ZooKeeper—— “动物园管理员”.动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始丛林里,心惊胆颤的被 ...

  8. js 回车提交表单的实现

    我们有时候希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此.比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键 ...

  9. Python语言快速入门

    Python的主提示符(>>>):是解释器告诉你它正在等待你输入的下一个语句 Python的次提示符(...):告诉你解释器正在等待你输入当前语句的其他部分 [简介] Python( ...

  10. xss 和 csrf攻击详解

    在那个年代,大家一般用拼接字符串的方式来构造动态 SQL 语句创建应用,于是 SQL 注入成了很流行的攻击方式.在这个年代, 参数化查询 已经成了普遍用法,我们已经离 SQL 注入很远了.但是,历史同 ...