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
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/84192.shtml
英文地址,請注明出處:http://en.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…