Valid Parentheses

来源:互联网 发布:php网店 编辑:程序博客网 时间:2024/06/09 20:02

题目要求如下:

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.

主要用到栈stack和map

public static boolean isValid(String s) {HashMap<Character, Character> map = new HashMap<Character, Character>();map.put('(', ')');map.put('[', ']');map.put('{', '}'); Stack<Character> stack = new Stack<Character>(); for (int i = 0; i < s.length(); i++) {char curr = s.charAt(i); if (map.keySet().contains(curr)) {stack.push(curr);} else if (map.values().contains(curr)) {if (!stack.empty() && map.get(stack.peek()) == curr) {stack.pop();} else {return false;}}} return stack.empty();}


0 0
原创粉丝点击