括号序列加强版问题,包括大中小括号

题目描述:
给定一个包含’(’,’)’,’{’,’}’,’[’,’]’的括号序列,请判断此括号序列是否合法。”([{}])”,”{()}[][]”是合法的括号序列,”())”,”(}]”,”([)]”是非法的括号序列。
输入:
括号序列的长度n,一个括号序列S,S长度大于1小于20;
输出:
如果合法请输出“YES” (不包含双引号),否则输出“NO”(不包含双引号)。
样例输入:
4 ([)]
样例输出:
NO

之前学校学的就是用栈
遇到左括号就入栈
遇到右括号,就出栈