六十三、栈在括号匹配和表达式求值中的应用
生活随笔
收集整理的這篇文章主要介紹了
六十三、栈在括号匹配和表达式求值中的应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
@Author:Runsen
編程的本質來源于算法,而算法的本質來源于數學,編程只不過將數學題進行代碼化。 ---- Runsen
算法,一門既不容易入門,也不容易精通的學問。
文章目錄
- 括號匹配
- 數學表達式
括號匹配
這是Leetcode第20題,也是一道單調棧的簡單題。
給定一個只包括'(',')','{','}','[',']'的字符串,判斷字符串是否有效。
有效字符串需滿足:
- 左括號必須用相同類型的右括號閉合。
- 左括號必須以正確的順序閉合。
- 注意空字符串可被認為是有效字符串。
輸入: "{[]}"
輸出: true
單調棧關鍵在于如何入棧和出棧。
用棧保存為匹配的左括號,從左到右一次掃描字符串,當掃描到左括號時,則將其壓入棧中;當掃描到右括號時,從棧頂取出一個左括號,如果能匹配上?
總結
以上是生活随笔為你收集整理的六十三、栈在括号匹配和表达式求值中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘打开不了显示需要格式化怎么办 U盘无
- 下一篇: 雷神bios怎么进入bios 雷神笔记本