题解 | #表达式合法判断#

表达式合法判断

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的解决方案

全部评论

相关推荐

嵌入式的小白:有道理哈,这种就看能不能捞
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务