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.

原题链接:https://oj.leetcode.com/problems/valid-parentheses/

题目:给定一个仅包括'('')''{''}''[' 和 ']' 的字符串,检測输入的串是否合法。括号是否配对。

思路:使用一个栈。遇到左括号则压入。遇到右括号则与左括号检測是否匹配,不匹配即false,弹出顶元素,循环。

	public boolean isValid(String s){
int len = s.length();
if(len <= 1)
return false;
if(s.charAt(0) == ')' || s.charAt(0)==']' || s.charAt(0)=='}')
return false;
Stack<Character> stack = new Stack<Character>();
for(int i=0;i<len;i++){
if(s.charAt(i) == '(' || s.charAt(i)=='[' || s.charAt(i)=='{')
stack.push(s.charAt(i));
else{
if(stack.size() == 0)
return false;
if(s.charAt(i) == ')')
if(stack.peek() != '(')
return false;
if(s.charAt(i) == ']')
if(stack.peek() != '[')
return false;
if(s.charAt(i) == '}')
if(stack.peek() != '{')
return false;
stack.pop();
}
}
return stack.size() == 0;
}



最新文章

  1. spring-aop学习【基于注解】
  2. 设计模式——抽象工厂(Abstract Factory)
  3. android使用ksoap2调用sap的webservice
  4. mysql二进制文件操作语法(mysql binary log operate statements)
  5. SQL Server Reporting Services本机模式下的权限管理
  6. Flex帮助文档ASDoc
  7. UITableVIew 滚动流畅性优化
  8. BeginInvoke、ThreadPool、Task三类异步方法的区别和速度比较
  9. Backbone.js学习之Router
  10. SDWebImage源码解读之SDWebImageDownloader
  11. 【Mysql 调用存储过程,输出参数的坑】
  12. Chapter 15_4 子模块和包
  13. 【DDD】领域驱动设计精要
  14. 解决java.lang.IllegalArgumentException: No converter found for return value of type
  15. servlet异步处理机制
  16. vs 附加进程 iis进程显示
  17. css sticker footer
  18. react-navigation实现页面框架(转载)
  19. “借刀杀人”之CSRF拿下盗图狗后台
  20. T-SQL 片段收藏

热门文章

  1. canvas的自动画图
  2. 最详细的CentOS 6与7对比(二):服务管理对比
  3. (转)(C++)关于抽象基类和纯虚函数
  4. 10.2&amp;10.3 Xcode开发包
  5. poj1111 Image Perimeters 广搜
  6. 【Oracle】RAC控制文件多路复用
  7. 小米 SOAR 开源SQL优化工具安装
  8. WPF 解决拼接屏全屏的问题
  9. Embeding如何理解?
  10. parent() parents() parentsUntil()三者之间的对比