棧和隊列的OJ題--12.括號匹配

?12.括號匹配

20. 有效的括號 - 力扣(LeetCode)


?

解題思路:該題比較簡單,是對棧特性很好的應用,具體操作如下:循環遍歷String中的字符,逐個取到每個括號,如果該括號是:1.?左括號,直接入棧2.?右括號,與棧頂的左括號進行匹配,如果不匹配直接返回false否則繼續循環循環結束后,如果棧空則匹配,否則左括號比右括號多肯定不匹配
bool isValid(char * s){// oj題目給的提示:1 <= s.length <= 104  說明s中一定是有字符串的  不考慮空串或者s為空的情況int size = strlen(s);Stack st;StackInit(&st);bool isMatch = true;for(int i = 0; i < size; ++i){// 如果是左括號則入棧if(('(' == s[i]) || ('[' == s[i]) || ('{' == s[i])){StackPush(&st, s[i]);}else{// 拿到的是右括號// 此時: 需要從棧頂獲取左括號來檢測是否匹配// 注意:一定要保證棧中有元素才可以獲取棧頂元素if(StackEmpty(&st)){//StackDestroy(&st);//return false;isMatch = false;break;}char top = StackTop(&st);if((top == '(' && s[i] == ')') ||(top == '[' && s[i] == ']') ||(top == '{' && s[i] == '}')){StackPop(&st);}else{// 沒有匹配// StackDestroy(&st);// return false;isMatch = false;break;}}}// 如果完全匹配,則循環結束時,棧一定是空的// 否則說明:左括號比右括號多if(!StackEmpty(&st)){//StackDestroy(&st);//return false;isMatch = false;}StackDestroy(&st);return isMatch;
}

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165068.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165068.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165068.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Git工作流和Commit規范

Git大家都非常熟悉了&#xff0c;就不做過多介紹&#xff0c;但是如何用好Git、如何進行合理的分支開發、Merge你是否有一個規范流程呢&#xff1f;&#x1f4a4; 不論是一個團隊一起開發一個項目&#xff0c;還是自己獨立開發一個項目&#xff0c;都少不了要和Git打交道&…

【NGINX--5】身份驗證

1、HTTP 基本身份驗證 需要通過 HTTP 基本身份驗證保護應用或內容。 生成以下格式的文件&#xff0c;其中的密碼使用某個受支持的格式進行了加密或哈希處理&#xff1a; # comment name1:password1 name2:password2:comment name3:password3第一個字段是用戶名&#xff0…

紫光展銳V8821榮獲“中國芯”重大創新突破產品獎

近日&#xff0c;“中國芯”優秀產品評選落下帷幕&#xff0c;紫光展銳首顆5G IoT-NTN衛星通信SoC芯片V8821憑借在衛星通信前沿領域的技術創新&#xff0c;從285家芯片企業、398款芯片產品中脫穎而出&#xff0c;榮獲第十八屆“中國芯”年度重大創新突破產品獎。 “中國芯”優…

ReentrantLock源碼解析

ReentrantLock源碼解析 文章目錄 ReentrantLock源碼解析一、ReentrantLock二、ReentrantLock 的 Sync、FairSync、NonfairSync2.1 Sync、FairSync、NonfairSync2.2 NonfairSync 下的 tryAcquire2.3 FairSync下的 tryAcquire2.4 tryRelease 三、lock.lock()3.1 NonfairSync.lock…

優橙內推青海專場——5G網絡優化(中高級)工程師

可加入就業QQ群&#xff1a;801549240 聯系老師內推簡歷投遞郵箱&#xff1a;hrictyc.com 內推公司1&#xff1a;浙江明訊網絡技術有限公司 內推公司2&#xff1a;南京華蘇科技有限公司 內推公司3&#xff1a;杭州華星創業通信技術有限公司 浙江明訊網絡技術有限公司 浙江明…

4.常見面試題--操作系統

特點&#xff1a;并發性、共享性、虛擬性、異步性。 Windows 和 Linux 內核差異 對于內核的架構?般有這三種類型&#xff1a; ● 宏內核&#xff0c;包含多個模塊&#xff0c;整個內核像?個完整的程序&#xff1b; ● 微內核&#xff0c;有?個最?版本的內核&#xff0…

名字大卻不中用的AI大模型,名不副實

這兩天 OpenAI 團隊&#xff08; ChatGPT 公司&#xff09;的戲比較多&#xff0c;兩三天的功夫&#xff0c;劇情發展都超出了 OpenAI 首席科學家的預期&#xff0c;目前來看&#xff0c;微軟還是最大的贏家。這是個引子&#xff0c;這個話題&#xff0c;網絡上早已傳爛了&…

云安全之盾:ZStack 云主機安全防護解決方案全方位保護云環境

隨著云計算的蓬勃發展&#xff0c;網絡威脅愈發復雜&#xff0c;涵蓋了從勒索病毒到APT攻擊的各種威脅類型。在這一風云變幻的網絡安全環境下&#xff0c;云主機安全不再僅僅是一個選項&#xff0c;它是信息系統安全的核心要素。云軸科技ZStack 云主機安全防護解決方案是為了滿…

6.3.WebRTC中的SDP類的結構

在上節課中呢&#xff0c;我向你介紹了sdp協議&#xff0c; 那這節課呢&#xff0c;我們再來看看web rtc中。是如何存儲sdp的&#xff1f;也就是sdp的類結構&#xff0c;那在此之前呢&#xff1f;我們先對sdp的內容啊&#xff0c;做一下分類。因為在上節課中呢&#xff0c;雖然…

Python+jieba+wordcloud實現文本分詞、詞頻統計、條形圖繪制及不同主題的詞云圖繪制

目錄 序言&#xff1a;第三方庫及所需材料函數模塊介紹分詞詞頻統計條形圖繪制詞云繪制主函數 效果預覽全部代碼 序言&#xff1a;第三方庫及所需材料 編程語言&#xff1a;Python3.9。 編程環境&#xff1a;Anaconda3&#xff0c;Spyder5。 使用到的主要第三方庫&#xff1a;…

python之pyqt專欄1-環境搭建

#python pyqt# python&#xff1a;3.11.6 pycharm&#xff1a;PyCharm Community Edition 2023.2.5 pyqt6 python安裝 官網下載&#xff1a;Python Releases for Windows | Python.org pycharm社區版安裝 官網地址&#xff1a;Download PyCharm: Python IDE for Professional…

golang學習筆記——創建項目

創建項目 從Go 1.8開始&#xff0c;將GOPATH設置為環境變量不是必需的。如果我們沒有設置一個&#xff0c;Go使用默認的GOPATH為$HOME/go。可以使用go env查看環境變量信息。 創建項目 # 創建項目目錄 mkdir helloLog cd helloLog # 使用go mod初始化項目,生成go.mod文件 go…

TikTok shop印尼重啟電商征程:與當地平臺合作開啟新篇章!——站斧瀏覽器

經歷了一個半月的間隔&#xff0c;TikTok Shop成功重返印度尼西亞市場。據國際媒體報道&#xff0c;TikTok計劃通過與印尼本地電子商務平臺的合作&#xff0c;重啟其在該國的電商業務。 Temmy Satya Permana&#xff0c;印尼合作社和中小企業部的官員&#xff0c;證實了這一重…

【廣州華銳互動】VR線上課件制作軟件滿足數字化教學需求

隨著科技的不斷發展&#xff0c;虛擬現實&#xff08;VR&#xff09;技術在教學領域的應用逐漸成為趨勢。其中&#xff0c;廣州華銳互動開發的VR線上課件制作軟件更是備受關注。這種工具為教師提供了便捷的制作VR課件的手段&#xff0c;使得VR教學成為可能&#xff0c;極大地豐…

thinkphp6 不支持:redis錯誤

起因&#xff1a; 使用 redis 時候&#xff0c;thinkphp 報錯。 解決方法&#xff1a; 打開 php.ini 文件&#xff0c;增加 extensionphp_redis.dll 即可

Java架構師發展方向和歷程

目錄 1 導論2 架構師的三觀培養3 架構師的遇到的困難4 架構師職責5 架構師之路6 架構師的發展方向7 應用領域架構師8 業務架構師9 系統架構師和企業架構師10 技術路線和演進規劃11 一線大廠的技術生態拓張案例12 如何推進項目落地想學習架構師構建流程請跳轉:Java架構師系統架…

CUDA與GPU編程

文章目錄 CUDA與GPU編程1. 并行處理與GPU體系架構1.1 并行處理簡介1.1.1 串行處理與并行處理的區別1.1.2 并行處理的概念1.1.3 常見的并行處理 1.2 GPU并行處理1.2.1 GPU與CPU并行處理的異同1.2.2 CPU的優化方式1.2.3 GPU的特點 1.3 環境搭建 CUDA與GPU編程 1. 并行處理與GPU體…

城市管理實景三維:打造智慧城市的新引擎

城市管理實景三維&#xff1a;打造智慧城市的新引擎 在城市管理領域&#xff0c;實景三維技術正逐漸成為推動城市發展的新引擎。通過以精準的數字模型呈現城市真實場景&#xff0c;實景三維技術為城市決策提供了全新的思路和工具。從規劃設計到交通管理&#xff0c;從環境保護到…

嵌入式系統在工業自動化中的應用

嵌入式系統在工業自動化中的應用非常廣泛&#xff0c;它們通過集成控制和實時響應能力&#xff0c;實現了生產線的自動化、智能化和高效化。以下將詳細介紹嵌入式系統在工業自動化中的幾個重要應用領域&#xff0c;并提供一些示例代碼。 1. PLC&#xff08;可編程邏輯控制器&a…

【開源】基于Vue和SpringBoot的學校熱點新聞推送系統

項目編號&#xff1a; S 047 &#xff0c;文末獲取源碼。 \color{red}{項目編號&#xff1a;S047&#xff0c;文末獲取源碼。} 項目編號&#xff1a;S047&#xff0c;文末獲取源碼。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 新聞類型模塊2.2 新聞檔案模塊2.3 新…