题解 | #表达式合法判断#
表达式合法判断
https://www.nowcoder.com/practice/227893ccf81d4e8589875922f0d9319e
import java.util.*;
public class ChkExpression {
public boolean chkLegal(String A) {
Stack<Character> stack = new Stack<>();
for (char c : A.toCharArray()) {
if (c == ')' && !stack.isEmpty() && stack.peek() == '(') {
stack.pop();
} else if (c == ']' && !stack.isEmpty() && stack.peek() == '[') {
stack.pop();
} else if (c == '}' && !stack.isEmpty() && stack.peek() == '{') {
stack.pop();
} else if (c == '(' || c == '[' || c == '{') {
stack.push(c);
}
}
return stack.isEmpty();
}
}
这道题目看着是表达式的问题, 其实本质上还是stack的解决方案
