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

相关推荐
2602_959960929 小时前
谢飞机面试大厂:Spring Boot、JVM、Redis、Kafka、微服务与音视频搜索场景求生实录
java·jvm·spring boot·redis·面试题
Zane1994129 小时前
CAS 与原子类:Java 如何实现无锁编程
java·开发语言
码农颜10 小时前
6.3 主函数流程剖析
开发语言·php
TheBestRucy10 小时前
Python 九阳神功:从零筑基到线程飞升
服务器·开发语言·网络·人工智能·python
研☆香10 小时前
聊一聊前端的常见字 关键字
开发语言·前端·javascript
xier_ran10 小时前
【infra之路】GPU 存储层次总结:L1 / L2 / HBM
java·网络·数据库
wuminyu11 小时前
JDK21中虚拟线程和FFM协同实现高并发源码剖析
java·linux·c语言·jvm·c++
草莓橙子碗11 小时前
Claude 使用指南
开发语言·python
SWAGGY..11 小时前
【C++进阶】:(1)继承机制详解
java·jvm·c++
longxiaozhang611 小时前
C# Array类:数组其实没那么难
开发语言·c#