1.Character类
Character类是字符数据类型char的包装类,Character类的对象包含类型为char的单个字符。
针对Leetcode [20]有效的括号,可以将本题的括号全部全部封装成Character类型。
2.Stack的常见使用方法
2.1 push()
用于向栈中添加元素,这里调用的是Vector的addElement方法
public E push(E item) {
addElement(item);
return item;
}
2.2 pop()
该方法用于移除栈顶对象并作为此函数的值返回该对象。
public synchronized E pop() {
E obj;
int len = size();
obj = peek();
removeElementAt(len - 1);
return obj;
}
2.3 empty()
用于判断这个栈是否为空
public boolean empty() {
return size() == 0;
}
3.java代码解决本题
3.1 思路:
每次进栈前需要判断是否为左括号,将朝向左边的括号存入栈中。
在非空字符串的情况下,将不是左括号的字符串与栈顶的元素发生匹配。
如果匹配失败则返回false,匹配成功则继续往下。