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

相关推荐
长安第一美人1 小时前
C 语言可变参数(...)实战:从 logger_print 到通用日志函数
c语言·开发语言·嵌入式硬件·日志·工业应用开发
Larry_Yanan1 小时前
Qt多进程(一)进程间通信概括
开发语言·c++·qt·学习
superman超哥1 小时前
仓颉语言中基本数据类型的深度剖析与工程实践
c语言·开发语言·python·算法·仓颉
不爱吃糖的程序媛2 小时前
Ascend C开发工具包(asc-devkit)技术解读
c语言·开发语言
bu_shuo2 小时前
MATLAB奔溃记录
开发语言·matlab
韩立学长2 小时前
【开题答辩实录分享】以《自助游网站的设计与实现》为例进行选题答辩实录分享
java·mysql·spring
ss2732 小时前
线程池:任务队列、工作线程与生命周期管理
java·后端
不像程序员的程序媛2 小时前
Spring的cacheEvict
java·后端·spring
SAP小崔说事儿2 小时前
在数据库中将字符串拆分成表单(SQL和HANA版本)
java·数据库·sql·sap·hana·字符串拆分·无锡sap
凌云若寒2 小时前
半导体代加工企业标签模板痛点的全景式解决方案
java