当前位置: 首页 > news >正文

小蓝的括号串1(栈,蓝桥云课)

问题描述

小蓝有一个长度为 nn 的括号串,括号串仅由字符 ( 、 ) 构成,请你帮他判断一下该括号串是否合法,合法请输出 Yes ,反之输出 No 。

合法括号序列:

  1. 空串是合法括号序列。

  2. 若 ss 是合法括号序列,则 ( ss ) 也是合法括号序列。

  3. 若 s,ts,t 都是合法括号序列,则 stst 也是合法括号序列。

例如 ()() , (()) , (())() 均为合法括号序列。

输入格式

第一行包含一个正整数 nn ,表示括号串的长度。

第二行包含一个长度为 nn 的括号串。

输出格式

输出共 11 行,若括号串合法请输出 Yes ,反之输出 No 。

样例输入1

10
(()(()))()

样例输出1

Yes

样例输入2

5
()()(

样例输出2

No
import java.util.Scanner;
import java.util.Stack;

public class TheKHOfXiaoLan {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt(); // 读取输入的字符数量
        scanner.nextLine(); // 消耗换行符

        String input = scanner.nextLine(); // 读取整行输入
        if (fun(input)) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }

    public static boolean fun(String input) {
        Stack<Character> stack = new Stack<>();

        for (char ch : input.toCharArray()) {
            if (ch == '(') {
                stack.push(ch); // 遇到左括号,入栈
            } else if (ch == ')') {
                if (stack.isEmpty() || stack.pop() != '(') {
                    // 如果栈为空或栈顶不是左括号,说明不匹配
                    return false;
                }
            }
        }

        // 如果栈为空,说明所有括号都匹配
        return stack.isEmpty();
    }
}

 

相关文章:

  • Python散点图(Scatter Plot):数据探索的“第一张图表”
  • 【判断文件是否以什么为结尾】
  • 头歌实训--Pandas合并数据集--第3关:案例:美国各州的统计数据
  • SQL优化手段6条
  • 力扣刷题376. 摆动序列
  • ZYNQ14 基于正点原子的iic时序的fpga程序实现
  • 数据结构(python)-------栈和队列2
  • 使用OpenCV进行图像处理:边界填充、阈值处理
  • Java 中 PriorityQueue 的底层数据结构及相关分析
  • 第60天:Web攻防-XSS跨站文件类型功能逻辑SVGPDFSWFPMessageLocalStorage
  • Ubuntu AX200 iwlwifi-cc-46.3cfab8da.0.tgz无法下载的解决办法
  • Hadoop 3.x中的zookeeper和JournalNode的作用
  • 使用vue3和vue-router实现动态添加和删除cachedViews数组
  • 提取关键 CSS: react 的项目中如何使用criticalCSS
  • PCRE2 站内搜索引擎项目
  • Windows 系统安装 Python3.7 、3.8、3.9、3.10、 3.11 最新版,附带相应程序。
  • 微信小程序面试内容整理-请求优化
  • 广东省教育服务公司受邀出席中华文化促进会教育示范基地落成典礼
  • 软考系统架构设计师考试学习和考试的知识点大纲,覆盖所有考试考点
  • Linux系统——crontab定时任务
  • 毕业设计可以做哪些简单网站/网页设计与制作代码
  • 做期货要看哪几个网站/推广赚钱一个2元
  • 在哪些网站可以做企业名称预审/文明seo
  • 抖音运营/seo教程之关键词是什么
  • 网站建设有关要求/百度下载安装到手机
  • 基金网站建设网站/西安网站外包