LeetCode : Valid Parentheses [java]

来源:互联网 发布:电脑编程有几种 编辑:程序博客网 时间:2024/04/27 21:54

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();    }}


1 0
原创粉丝点击