Valid Parentheses

来源:互联网 发布:thinkphp5源码下载 编辑:程序博客网 时间:2024/06/05 00:20

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.

Subscribe to see which companies asked this question

package leetcode;import java.util.Stack;/** *  * @author Mouse * */public class Solution {public static boolean isValid(String s) {Stack<Character> stack = new Stack<>();for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);if (c == '{' || c == '(' || c == '[') {// 遇到前括号就压栈stack.push(c);} else if (c == '}' || c == ')' || c == ']') {// 遇到后括号就出栈if (stack.size() == 0) {return false;}char cpop = stack.pop();if (cpop == '{' && c == '}') {continue;//继续for}if (cpop == '(' && c == ')') {continue;}if (cpop == '[' && c == ']') {continue;}return false;}}return stack.size() == 0;}public static void main(String[] args) {String s = "([])";boolean flag = isValid(s);System.out.println(flag);}}


0 0