首页 > 其他 > 详细

LeetCode | Valid Parentheses

时间:2014-04-04 16:44:05      阅读:576      评论:0      收藏:0      [点我收藏+]

题目

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.

分析

这种括号匹配用栈很方便,这里在判断括号是否匹配时利用了ASCII码的大小。

代码

import java.util.Stack;

public class ValidParentheses {
	public boolean isValid(String s) {
		Stack<Character> stack = new Stack<Character>();
		for (int i = 0; i < s.length(); ++i) {
			char c = s.charAt(i);
			if (c == ‘(‘ || c == ‘[‘ || c == ‘{‘) {
				stack.push(c);
			} else {
				if (stack.isEmpty() || c - stack.pop() > 2) {
					return false;
				}
			}
		}
		return stack.isEmpty();
	}
}

LeetCode | Valid Parentheses,布布扣,bubuko.com

LeetCode | Valid Parentheses

原文:http://blog.csdn.net/perfect8886/article/details/22925083

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!