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

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

原题链接在这里:

题目:

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

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

题解:

当遇到'(', '[', '{' 时压栈,当遇到')', ']', '}'时观察stk是否为空,若是空,返回false,若不是,pop()出来的第一个元素是否对应,若不对应, 返回false. 读完整个string若stk不空,返回false。若没问题,返回true。

Time Complexity: O(s.length()). Space: O(s.length()).

AC Java:

1 public class Solution { 2     public boolean isValid(String s) { 3         if(s == null || s.length() == 0){ 4             return true; 5         } 6          7         Stack
stk = new Stack
(); 8 for(char c : s.toCharArray()){ 9 if(c == '('){10 stk.push(')');11 }else if(c == '['){12 stk.push(']');13 }else if(c == '{'){14 stk.push('}');15 }else if(stk.isEmpty() || stk.pop() != c){16 return false;17 }18 }19 return stk.isEmpty();20 }21 }

 

转载于:https://www.cnblogs.com/Dylan-Java-NYC/p/4825029.html

你可能感兴趣的文章
搭建ntp时间服务器 ntp - (Network Time Protocol)
查看>>
35. Search Insert Position
查看>>
awk使用
查看>>
ASP.NET Razor 视图引擎编程参考
查看>>
Vue 基础篇
查看>>
malloc_free_new_delete
查看>>
Python中的open和codecs.open
查看>>
开发Servlet的方法(2)
查看>>
asp.net mvc 伪静态添加
查看>>
\Process(sqlservr)\% Processor Time 计数器飙高
查看>>
ServletConfig讲解
查看>>
struts2配置默认Action
查看>>
EA类图与代码同步
查看>>
Spring集成MyBatis01 【推荐使用】、springMVC中文乱码和json转换问题
查看>>
Android Studio 智能感知无效
查看>>
vs2005/vs2008 快捷键【转】
查看>>
javascript 日常
查看>>
Android打开相机进行人脸识别,使用虹软人脸识别引擎
查看>>
打印沙漏
查看>>
腾讯物联TencentOS tiny上云初探
查看>>