2490小蓝的括号串

2490小蓝的括号串

⭐️难度:中等

🌟考点:栈

📖

📚

java 复制代码
import javax.sound.sampled.Line;
import java.math.BigInteger;

import java.util.Arrays;
import java.util.Scanner;

public class  Main {
    static int N = 105;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int m = sc.nextInt();
        char []a = new char[N];
        String str = sc.next();

        if(m % 2 == 0){ // m 为奇数,永远不可能合法
            int top = 0;
            // 把字符串转化成字符数组
            for (int i = 0; i < m; i++) {
                char c = str.charAt(i);
                if(c == '('){
                    a[top] = '(';
                    top ++;
                } else if (c == ')') {
                    if(top == 0){ // 如果栈到底还有右括号进来,永远不可能合法
                        top = 1;
                        break;
                    }
                    if(a[top - 1] == '('){
                        a[top] = ' ';
                        top --;
                    }else{
                        a[top] = ')';
                        top ++;
                    }
                }
            }

            if(top == 0){
                System.out.println("Yes");
            }else{
                System.out.println("No");
            }
        }else{
            System.out.println("No");
        }

    }
}

小细节:YES和Yes

相关推荐
兩尛5 小时前
c++知识点2
开发语言·c++
fengfuyao9855 小时前
海浪PM谱及波形的Matlab仿真实现
开发语言·matlab
xiaoye-duck5 小时前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
Hx_Ma166 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode7 小时前
原子操作类LongAdder
java·开发语言
舟舟亢亢7 小时前
Java集合笔记总结
java·笔记
小酒窝.8 小时前
【多线程】多线程打印ABC
java
lly2024068 小时前
C 语言中的结构体
开发语言
乡野码圣8 小时前
【RK3588 Android12】RCU机制
java·jvm·数据库
JAVA+C语言8 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php