簡易括號匹配看程式設計

2021-06-22 11:42:13 字數 398 閱讀 1255

這道括號匹配雖然簡單,但也沒有一次過,發現還是有些問題需要總結,s[i]的時候需要看是否越界,因此前面要處理i越界了的情況,此時棧不空,也即有前面的左括號未匹配,最後面出戰可能有except,檢視是否此時可能棧空可能,當時i沒到頭,但是棧已空,也即後面有未匹配的右括號,因此此處處理占空的情況。後面還有乙個訪問s[i],此處可能越界,分析發現不可能越界string,因為越界while裡第一句處理,占空在出戰時處理,因此此時訪問必是安全的。
bool isvalid(string s) 

else

'));

else

return false;

}i++;

}return true;

}

常見程式設計題 括號匹配方案

一 合法的括號匹配序列被定義為 1.空串 是合法的括號序列 2.如果 x 和 y 是合法的序列,那麼 xy 也是乙個合法的括號序列 3.如果 x 是乙個合法的序列,那麼 x 也是乙個合法的括號序列 4.每個合法的括號序列都可以由上面的規則生成 例如 都是合法的。牛牛現在給出乙個括號序列s,牛牛允許你...

列印匹配括號

開始抽空做一些演算法題,留下記錄作為菜鳥的成長見證吧。這道題來自於cracking the coding interview,要求列印n對括號的所有可能匹配。我採用遞迴來做,這樣編寫比較方便而且容易弄懂,但用迭代應該會效率快不少而且遞迴一定能轉換成迭代吧,以後有空研究下 如下 include std...

括號匹配(二)

時間限制 1000 ms 記憶體限制 65535 kb 難度 6 描述 給你乙個字串,裡面只包含 四種符號,請問你需要至少新增多少個括號才能使這些括號匹配起來。如 是匹配的 是匹配的 是不匹配的 是不匹配的 輸入第一行輸入乙個正整數n,表示測試資料組數 n 10 每組測試資料都只有一行,是乙個字串s...