OD 算法题 B卷【反转每对括号间的子串】

文章目录

  • 反转每对括号间的子串

反转每对括号间的子串

  • 给出一个字符串s, 仅含有小写英文字母和英文括号’(’ ‘)’;
  • 按照从括号内到外的顺序,逐层反转每对括号中的字符串,并返回最终的结果;
  • 结果中不能包含任何括号;

示例1
输入:
(abcd)
输出:
dcba

示例2
输入:
(u(love)i)
输出:
iloveu
说明:先反转内部的love子串,然后反转整个字符串;

示例3
输入:
(ed(et(oc))el)
输出:
leetcode

示例4
输入:
a(bcdefghijkl(mno)p)q
输出:
apmnolkjihgfedcbq

示例5
输入:
a(bcdefghijkl(mno)p)
输出:
apmnolkjihgfedcb

python实现

  • 栈数据结构
# 输入数据
s = input().strip()# 看到括号,借助栈结构
# 遍历每个字符,( 和字母入栈
stack = []
total_string = ""
inner_string = ""
for c in s:  # 只反转括号内部的字符串if not stack and c.isalpha():if inner_string:total_string += inner_stringinner_string = ""total_string += ccontinueelif c == "(":stack.append(c)elif stack and c.isalpha():stack.append(c)else:  # ) 出栈inner_string = ''while stack:cur_c = stack.pop()if cur_c != "(":inner_string += cur_celse:break# 反转的内部字符串按照字符一次入栈if stack:for cur_c in inner_string:stack.append(cur_c)if total_string and inner_string:total_string += inner_stringprint(total_string)
elif total_string:print(total_string)
else:print(inner_string)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/84192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何做好一份技术文档?从规划到实践的完整指南

如何做好一份技术文档?从规划到实践的完整指南 🌟 嗨,我是IRpickstars! 🌌 总有一行代码,能点亮万千星辰。 🔍 在技术的宇宙中,我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…

详细讲解Flutter GetX的使用

Flutter GetX 框架详解:状态管理、路由与依赖注入 GetX 是 Flutter 生态中一款强大且轻量级的全功能框架,集成了状态管理、路由管理和依赖注入三大核心功能。其设计理念是简洁高效,通过最小的代码实现最大的功能,特别适合快速开发…

【大模型:知识库管理】--Dify接入RAGFlow 知识库

ragflow的官方文档: HTTP API 接口 |抹布流 --- HTTP API | RAGFlow 接着前文,我们已经创建了知识库,那么如何才能使用它呢? 当然也是通过网络API的形式去调用它。本文将讲解两种方式: Dify调用python源码调用 目录…

Vue 模板配置项深度解析

Vue 模板配置项深度解析 在 Vue 组件开发中,template 是定义组件视图结构的核心配置项。作为 Vue 专家,我将全面解析模板的各个方面,帮助你掌握高效构建 Vue 组件的艺术。 一、模板基础概念 1. 模板的本质 声明式渲染:描述 UI…

基于深度哈希与图索引的十亿级图像近重复检测系统

引言 在上一篇文章中,我们介绍了基于Vision API和SimHash的亿级图像去重方案。本文将更进一步,探讨如何应对十亿级图像库的近重复检测挑战,提出一种结合深度哈希学习与图索引的创新架构。该系统在多个关键指标上比传统方法提升显著: 检测精度提升:mAP@100达到0.92(传统方…

Python开发基础手语识别(基础框架版)

一、前期准备 想要实现这些,首先就是要模拟出来一个大致的框架,方便后续开展,下面的就是随便写的一个框架,大家凑合看看就行,基本上是这个意思: from tkinter import *w Tk() w.title("手语识别&am…

React从基础入门到高级实战:React 实战项目 - 项目一:在线待办事项应用

React 实战项目:在线待办事项应用 欢迎来到本 React 开发教程专栏的第 26 篇!在之前的 25 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件、状态、路由和性能优化等核心知识。这一次,我们将通过一个…

1991-2024年上市公司个股换手率数据

1991-2024年上市公司个股换手率数据 1、时间:1991-2024年 2、来源:上海证券交易所和深圳证券交易所 3、指标:证券代码、交易年份、开始日期、截止日期、年换手率(流通股数)(%)、年换手率(总股数)(%)、日均换手率(流通股数)(%)、日均换手率…

RAID存储技术概述

1 数据存储架构 数据存储架构是对数据存储方式、存储设备及相关组件的组织和规划,涵盖存储系统的布局、数据存储策略等,它明确数据如何存储、管理与访问,为数据的安全、高效使用提供支撑。 1.1 存储系统 存储系统是计算机的重要组成部分之…

LRU 和 DiskLRU实现相册缓存器

我是写Linux后端的(golang、c、py),后端缓存算法通常是指的是内存里面的lru、或diskqueue,都是独立使用。 很少有用内存lru与disklru结合的场景需求。近段时间研究android开发,里面有一些设计思想值得后端学习。 写这…

可视化预警:如何让生产风险预警更高效?

你有没有遇到过这种情况? 明明设备已经开始发热报警,但操作人员还在继续运行; 或者某个参数已经接近危险值,却没人注意到; 甚至问题早就埋下了隐患,只是当时没发现…… 这些情况的背后,其实都…

【MPC-C++】qpOASES 源码编译与链接,编译器设置细节

qpOASES 源码编译与链接 克隆源码 git clone https://github.com/coin-or/qpOASES.gitcd qpOASES mkdir build cd build接下来是构建,有一些细节。 查看 CMakeLists.txt,发现如果不显示指定 CMAKE_BUILD_TYPE 构建版本,会自动编译 Release…

【11408学习记录】考研数学攻坚:行列式本质、性质与计算全突破

行列式 数学线性代数一、对象(元素):向量二、运算三、行列式3.1 第一种定义——行列式的本质定义3.2 行列式的性质性质1:行列互换,其值不变性质2:若行列式中某行(列)元素全为零&…

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…

小木的算法日记-线段树

🌳 线段树 (Segment Tree):玩转区间作的终极利器 你好,未来的算法大师! 想象一下,你正在处理一个巨大的数据集,比如某个电商网站一整天的用户点击流。老板突然问你:“下…

Day24 元组和OS模块

1、元组(有序 不可变 可重复) 管道工程中pipeline类接收的是一个包含多个小元组的列表作为输入。可以这样理解这个结构: (1) 列表 []: 定义了步骤执行的先后顺序。Pipeline 会按照列表中的顺序依次处理数据。之所以用列…

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…

Device Mapper 机制

Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…

crackme006

crackme006 名称值软件名称aLoNg3x.1.exe加壳方式无保护方式Serial编译语言Delphi调试环境Win10 64位使用工具x32dbg,ida pro,PEid,DarkDe4破解日期2025-06-05 脱壳 1. 先用PEid查壳 查到无壳 寻找Serial 查询到编程语言为Delphi 导出Delphi符号表信息到x32dbg&#xff0c…