【簡單】有效的括號
給定乙個只包括 '(',')','','[',']' 的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:
輸入: "()"
輸出: true
示例 2:
輸入: "(){}"
輸出: true
示例 3:
輸入: "(]"
輸出: false
示例 4:
輸入: "([)]"
輸出: false
示例 5:
輸入: ""
輸出: true
class solution:
def isvalid(self, s: str) -> bool:
# 用棧的思路,逐一入棧
dic = ':'
stack =
for index in s:
# 棧stack非空,且是右括號
if stack and index in dic:
if stack[-1] == dic[index]:
stack.pop()
else:
return false
else:
# 最後 stack 若是非空,則返回false
return not stack
用棧求解迷宮問題
問題描述 二維陣列mg m n 它表示乙個m n的迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的路線。include define maxsize 100 define m 8 define n 8 struct st maxsize ...
2020 11 6 用棧實現迷宮求解
include include 包含system pause system cls 函式 include 包含srand rand函式 using namespace std define mazetype int 迷宮二維陣列的元素為int型 typedef struct posttype 位置資...
用棧來求解漢諾塔問題
漢諾塔問題比較經典,這裡修改一下遊戲規則 現在限制不能從最左側的塔直接移動到最右側,也不能從最右側直接移動到最左側,而是必須經過中間。求當塔有n層的時候,列印最優移動過程和最優移動總步數。輸入描述 輸入乙個數n,表示塔層數 輸出描述 按樣例格式輸出最優移動過程和最優移動總步數 示例1輸入2輸出mov...