以下是使用 Java 编写的示例代码,用于判断符号序列的有效性,例如 '{[()]}'

import java.util.Stack;

public class SymbolSequenceValidation {
    public static void main(String[] args) {
        String symbolSequence = '{[()]}';
        String result = isValidSymbolSequence(symbolSequence);
        System.out.println(result);
    }

    public static String isValidSymbolSequence(String s) {
        Stack<Character> stack = new Stack<>();
        for (char c : s.toCharArray()) {
            if (c == '(' || c == '[' || c == '{') {
                stack.push(c);
            } else if (c == ')' || c == ']' || c == '}') {
                if (stack.isEmpty() || !isMatching(stack.peek(), c)) {
                    return "N";
                }
                stack.pop();
            }
        }
        return stack.isEmpty() ? "Y" : "N";
    }

    public static boolean isMatching(char left, char right) {
        return (left == '(' && right == ')') ||
                (left == '[' && right == ']') ||
                (left == '{' && right == '}');
    }
}

运行以上代码,输出结果为:

Y

示例中的 isValidSymbolSequence() 方法用于判断符号序列的有效性。您可以将输入符号序列作为字符串传递给该方法,并根据返回的结果判断序列是否有效。

Java 符号序列有效性校验:使用栈实现

原文地址: https://www.cveoy.top/t/topic/bOOd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录