您的位置:首页 > 编程语言 > Java开发

LeetCode : Valid Parentheses [java]

2016-03-07 19:55 423 查看
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.

思路:使用堆栈存储,遇到配对就弹出,为空则恰好全部配对成功。

import java.util.Stack;

public class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
switch (ch) {
case ')':
if (!stack.isEmpty() && stack.peek() == '(') {
stack.pop();
} else {
stack.push(ch);
}
break;
case ']':
if (!stack.isEmpty() && stack.peek() == '[') {
stack.pop();
} else {
stack.push(ch);
}
break;
case '}':
if (!stack.isEmpty() && stack.peek() == '{') {
stack.pop();
} else {
stack.push(ch);
}
break;
default:
stack.push(ch);
}
}
return stack.isEmpty();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: