Valid_Parentheses

来源:互联网 发布:带网络功能的winpe 编辑:程序博客网 时间:2024/06/14 21:24
题目描述: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.
                译:给定一个字符串,包含字符"()","{}","[]",
                确定输入字串是否有效。
                括号必须以正确的顺序关闭,

                "()"、"()[]{}"均为有效,但"(]"和"([)]"不是.

public class Valid_Parentheses {public static boolean judge(char str1,char str2){if(str1=='(')if(str2==')')return true;if(str1=='[')if(str2==']')return true;if(str1=='{')if(str2=='}')return true;return false;}public static boolean solve(String str){Stack<Character> stack=new Stack<Character>();for(int i=0;i<str.length();i++){char mid = str.charAt(i);if(mid=='('||mid=='['||mid=='{'){stack.push(mid);}if(mid==')'||mid==']'||mid=='}'){if(!stack.empty()){if(judge(stack.pop(),mid)){return true;}}else{return false;}}}return false;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.next(); System.out.println(solve(str));}}


原创粉丝点击