您的位置:首页 > 其它

有效的括号序列

2016-01-11 23:29 330 查看
给定一个字符串所表示的括号序列,包含以下字符:
'(', ')'
,
'{'
,
'}'
,
'['
and
']'
, 判定是否是有效的括号序列。

样例

括号必须依照
"()"
顺序表示,
"()[]{}"
是有效的括号,但
"([)]"
则是无效的括号。

挑战

O(n)的时间,n为括号的个数

public class Solution {
/**
* @param s A string
* @return whether the string is a valid parentheses
*/
public boolean isValidParentheses(String s) {
// Write your code here
Stack<Integer> stk = new Stack<Integer>();
for(int i = 0;i < s.length();++i){
int pos = "(){}[]".indexOf(s.substring(i,i+1));
if(pos%2 == 1){
if(stk.isEmpty()||stk.pop()!= pos-1)
return false;
}else {
stk.push(pos);
}
}
return stk.isEmpty();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: