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

相关推荐
zzc9212 分钟前
MATLAB仿真生成无线通信网络拓扑推理数据集
开发语言·网络·数据库·人工智能·python·深度学习·matlab
周某某~4 分钟前
四.抽象工厂模式
java·设计模式·抽象工厂模式
HUN金克斯11 分钟前
C++/C函数
c语言·开发语言·c++
慢半拍iii11 分钟前
数据结构——F/图
c语言·开发语言·数据结构·c++
钢铁男儿13 分钟前
C# 表达式和运算符(表达式和字面量)
开发语言·c#
编程有点难17 分钟前
Python训练打卡Day43
开发语言·python·深度学习
m0_6371469322 分钟前
零基础入门 C 语言基础知识(含面试题):结构体、联合体、枚举、链表、环形队列、指针全解析!
c语言·开发语言·链表
LjQ204031 分钟前
网络爬虫一课一得
开发语言·数据库·python·网络爬虫
异常君31 分钟前
高并发数据写入场景下 MySQL 的性能瓶颈与替代方案
java·mysql·性能优化