20.Valid Parentheses (括号匹配)
2015-08-03 14:38
267 查看
Given a string containing just the characters
determine if the input string is valid.
The brackets must close in the correct order,
all valid but
not.
public class Solution {
public boolean isValid(String s) {
Stack<Character> charStack = new Stack<Character> ();
char [] a = s.toCharArray();
for(int i=0 ;i<s.length();i++){
char b = s.charAt(i);
if(a[i]=='('||a[i]=='['||a[i]=='{'){
charStack.push(a[i]);
}else{
if(charStack.isEmpty()) return false ;
if(b==')'&&charStack.peek()!='(') return false;
if(b==']'&&charStack.peek()!='[') return false;
if(b=='}'&&charStack.peek()!='{') return false;
charStack.pop();
}
}
return charStack.isEmpty();
}
}
'(',
')',
'{',
'}',
'['and
']',
determine if the input string is valid.
The brackets must close in the correct order,
"()"and
"()[]{}"are
all valid but
"(]"and
"([)]"are
not.
public class Solution {
public boolean isValid(String s) {
Stack<Character> charStack = new Stack<Character> ();
char [] a = s.toCharArray();
for(int i=0 ;i<s.length();i++){
char b = s.charAt(i);
if(a[i]=='('||a[i]=='['||a[i]=='{'){
charStack.push(a[i]);
}else{
if(charStack.isEmpty()) return false ;
if(b==')'&&charStack.peek()!='(') return false;
if(b==']'&&charStack.peek()!='[') return false;
if(b=='}'&&charStack.peek()!='{') return false;
charStack.pop();
}
}
return charStack.isEmpty();
}
}
相关文章推荐
- opencv之深拷贝及浅拷贝,IplImage装换为Mat
- js中return false,return,return true的用法及区别
- Layout poj3169 差分约束
- 一张图学会Python
- codis须知
- 19.Remove Nth Node From End of List(移除单链表中倒数第N个结点)
- 操作分布式文件之一:如何搭建配置FttpAdapter环境
- Redis
- myeclipse安装maven
- c++中sizeof的分析
- DevExpress(即DXperience)各版本及最新破解版下载
- 自定义UISlider
- GIT 牛刀小试 (第一发)
- 命令行实用命令记录
- mark
- flask中的request对象方法
- 2041 超级楼梯【斐波拉切数列】
- python中使用序列的方法
- iOS开发中tableview中cell图片自定义方法。
- 由父子元素margin说开——外边距塌陷(margin-collapse)