20. Valid Parentheses

来源:互联网 发布:淘宝天机平台怎么加入 编辑:程序博客网 时间:2024/06/05 20:19

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


public class Solution{public boolean isValid(String s) {if (s == null || s.length() == 0) {return true;//先简单判断}char[] stack = new char[s.length()];//用来放[({int top = 0;//表示当前符号的下标for (int i=0, j=s.length(); i<j; i++) {char c = s.charAt(i);if (c == '[' || c == '(' || c == '{') {stack[top++] = c;} else if (c == ']' || c == ')' || c == '}') {if(top == 0) {//stack为空return false;}char pc = stack[--top];if ((pc == '[' && c == ']') ||     (pc == '(' && c == ')') ||     (pc == '{' && c == '}'))continue;//符号配对成功,继续执行程序} else {return false;}} else {return false;}}return top == 0;//如果当前符号的下标是在0,则表示成功,否则必定失败}}
其实可以思考着把配对好的符号移除~

0 0
原创粉丝点击