20.?有效的括號?
講完了棧實(shí)現(xiàn)隊列,隊列實(shí)現(xiàn)棧鹦赎,接下來就是棧的經(jīng)典應(yīng)用了傍菇。?
大家先自己思考一下有哪些不匹配的場景猾瘸,在看視頻我講的都有哪些場景,落實(shí)到代碼其實(shí)就容易很多了丢习。
題目鏈接/文章講解/視頻講解:https://programmercarl.com/0020.%E6%9C%89%E6%95%88%E7%9A%84%E6%8B%AC%E5%8F%B7.html
重點(diǎn)是特殊情況有幾種,一定要能全部找到并列出來淮悼,這題一共有三種特殊情況會導(dǎo)致不匹配:1咐低、左括號多了;2袜腥、右括號多了见擦;3钉汗、左右括號按照順序不匹配
1047.?刪除字符串中的所有相鄰重復(fù)項?
棧的經(jīng)典應(yīng)用。?
要知道棧為什么適合做這種類似于愛消除的操作鲤屡,因為棧幫助我們記錄了?遍歷數(shù)組當(dāng)前元素時候损痰,前一個元素是什么。
上述完全不對:
1酒来、就一個函數(shù)卢未,你搞啥公共棧;
2堰汉、視頻里是簡略代碼實(shí)現(xiàn)思路辽社,但是怎么可以直接返回棧啊喂,順序也不對啊喂
3翘鸭、拿什么back()滴铅、push_back()為啥不行我也不太清楚,不過根本不需要啊喂就乓,直接top()汉匙、push()就可以啦
注意:reverse 基本操作具有O(n)的時間復(fù)雜度, O(n)的空間復(fù)雜度;
?150.?逆波蘭表達(dá)式求值?
本題不難,但第一次做的話生蚁,會很難想到盹兢,所以先看視頻,了解思路再去做題?
題目鏈接/文章講解/視頻講解:https://programmercarl.com/0150.%E9%80%86%E6%B3%A2%E5%85%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%B1%82%E5%80%BC.html
等等守伸,讓我來記錄一下逆波蘭的基本字符串吧绎秒,不然以后光看名字想不起來是啥
總而言之,就是不用日常的計算式子(也即中綴表達(dá)式)尼摹,而是計算后綴表達(dá)式的結(jié)果见芹。
注意:1、關(guān)于單引號和雙引號:
還是不懂蠢涝,為什么括號那題就用單引號玄呛,加減乘除就用雙引號,否則就報錯和二,不都是字符串嗎徘铝,不理解
2、關(guān)于stroll()函數(shù)