【LeetCode Easy】020 Valid Parentheses

栏目: 编程工具 · 发布时间: 6年前

内容简介:“()” "[]" "{}"三种括号匹配问题,判断参数字符串是否满足匹配要求如:“({[]})” true “[{})” falseNote:空串为true

Easy 020 Valid Parentheses

Description:

“()” "[]" "{}"三种括号匹配问题,判断参数字符串是否满足匹配要求

如:“({[]})” true “[{})” false

Note:空串为true

My Solution:

    • 括号匹配问题是栈的典型应用,遇到左括号,入栈,遇到右括号,看栈顶是否是相应的左括号,若不是,则false
    • 时间复杂度O(n)
    • 代码如下:
    • public boolean isValid(String s) {
           if(s.length()==0){
               return true;
           }
           Stack<Character> stack = new Stack<>();
           for(char c:s.toCharArray()){
               if(c == '(' || c == '{' || c == '['){
                   stack.push(c);
               }else if(stack.size()==0){
                   return false;
               }
               else if(c == ')' && stack.peek() == '('){
                   stack.pop();
               }else if(c == ']' && stack.peek() == '['){
                   stack.pop();
               }else if(c == '}' && stack.peek() == '{'){
                   stack.pop();
               }else
                   return false;
           }
           if(stack.size() == 0){
               return true;
           }
           return false;
       }

Fast Solution:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

与孩子一起学编程

与孩子一起学编程

[美] 桑德Warren Sande、Carter Sande / 苏金国、姚曜 等 / 人民邮电出版社 / 2010-11 / 65.00元

一本老少咸宜的编程入门奇书!一册在手,你完全可以带着自己的孩子,跟随Sande父子组合在轻松的氛围中熟悉那些编程概念,如内存、循环、输入和输出、数据结构和图形用户界面等。这些知识一点儿也不高深,听起来备感亲切,书中言语幽默风趣而不失真义,让学习过程充满乐趣。细心的作者还配上了孩子们都喜欢的可爱漫画和经过运行测试的程序示例,教你用最易编写和最易理解的Python语言,写出你梦想中的游戏程序。 ......一起来看看 《与孩子一起学编程》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换