用一个Stack容器来存储遍历到的字符,如果是左括号,就在Stack容器中push对应的右括号,如果是右括号,就判断当前Stack容器是否为空,如果为空返回false;如果pop出来的跟目前遍历得到的不符,返回false,最后看是否Stack是否为空,为空返回true,否则返回false。
这道题想到了用Stack来存数据,但是因为要求输出是string,导致还要遍历一下转成String,复杂度增加,官方用的用stringBuilder模拟栈,复杂度下降了很多。
Stack的应用,没成功的原因是判断str是否为运算符,用的是==,而不是equals,导致错误