Problem: 括号匹配问题。
  使用栈,先进后出!
 
参考代码1:
package leetcode_50;

import java.util.Stack;

/***
*
* @author pengfei_zheng
* 括号匹配问题
*/
public class Solution20 {
public static boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
int len = s.length();
for(int i=0;i<len;i++){
char c = s.charAt(i);
if(c=='(' || c=='{' || c=='[') stack.push(c);
if(c==')'){
if(stack.isEmpty())
return false;
else if('('!=stack.pop())
return false;
}
if(c=='}'){
if(stack.isEmpty())
return false;
else if('{'!=stack.pop())
return false;
}
if(c==']'){
if(stack.isEmpty())
return false;
else if('['!=stack.pop())
return false;
}
}
if(!stack.isEmpty())
return false;
else
return true;
}
public static void main(String[]args){
String s="[[(])]";
System.out.println(isValid(s));
}
}

参考代码2:

public boolean isValid(String s) {
Stack<Character> stack = new Stack<Character>();
for (char c : s.toCharArray()) {
if (c == '(')
stack.push(')');
else if (c == '{')
stack.push('}');
else if (c == '[')
stack.push(']');
else if (stack.isEmpty() || stack.pop() != c)
return false;
}
return stack.isEmpty();
}

最新文章

  1. System.Web.HttpContext.Current.Session为NULL解决方法
  2. JS中基本window对象操作
  3. Spring AOP 创建增强类
  4. python3.4安装suds
  5. PhoneGap搭建运行环境(3.2版本)
  6. 解决自定义BackItem与Pop Gesture冲突的问题
  7. -bash: ulimit: max user processes: cannot modify limit: Operation not permitted
  8. javascript UniqueID属性
  9. 使用Spring框架的好处(转帖)
  10. js闭包的真正理解
  11. Asp.net mvc 中View 的呈现(二)
  12. The content of elements must consist of well-formed character data or markup
  13. JavaScript基础-3
  14. 413 重温HTML + css 考试 + 访问HTML元素
  15. SQL Server 之 事务与隔离级别实例讲解
  16. python_09 文件处理流程,文件操作方法
  17. python练习:http协议介绍
  18. 微信小程序开发--路由切换,页面重定向
  19. The markup in the document following the root element must be well-formed. Quartz.xml .......
  20. vue全家桶+Koa2开发笔记(4)--redis

热门文章

  1. ASP.NET MVC Castle Windsor 教程
  2. Windows下安装Oracle12C(二)
  3. sublime text3支持Vue语法高亮显示
  4. 自定义控件?试试300行代码实现QQ侧滑菜单
  5. eclipse常用插件介绍
  6. JUC回顾之-ConcurrentHashMap源码解读及原理理解
  7. nvm安装node和npm,个人踩坑记录
  8. Java常用数据结构之Set之TreeSet
  9. snmp简单使用
  10. Python游戏《外星人入侵》来了~