判斷括號是否有效

2021-10-01 14:04:06 字數 1013 閱讀 1110

例如:

/**

* 判斷括號是否有效

* @param str 輸入的字串

* @return 括號有效的話返回真

*/public static boolean bracketiseffect(string str) ")) ", "");

str = str.replace("", "");

str = str.replace("()", "");

} return str.isempty();

}

每次遍歷字串以及對字串的修改操作都會產生新字串,因此對記憶體的消耗很大,效率很低,不建議使用,

但是簡單便於理解,適合剛入門的小白使用。

步驟梳理:

① 遇見左括號,將左括號入棧

② 遇到右括號

③所有字元掃瞄完畢後

/**

* 判斷括號是否有效

* @param str 輸入的字串 前提:字串僅包含三種括號字元

* @return 括號有效的話返回真

*/public static boolean bracketiseffectbystack(string str) else ') return false;

}}

return stack.isempty();

}

public static boolean bracketiseffectbymap(string str) ');

stackstack = new stack<>();

// 去除空格

str = str.replace(" ", "");

int len = str.length();

for (int i = 0; i < len; i++) else

} return stack.isempty();

}

判斷括號是否有效 c 描述

開門見山,假設我們有一大串的由 這些括號構成比如像這樣的 符號串,我們肉眼當然能看出它是非法的,那麼如何使用 來判斷是否合法呢?其實我們可以借助棧來判斷這些符號串是否非法 1.首先我們我需要建立符號的一對一對映,如下所示 1 map mp 對映括號 2.我們對字串進行遍歷 1.如果能通過對映的鍵找到...

判斷括號是否匹配

日期 2009.6.20 問題 設計乙個演算法,判斷乙個算術表示式中的括號是否配對。算術表示式儲存在帶頭結點的單迴圈鍊錶中,每個結點有兩個域 ch和 link 其中ch 域為字元型別。1 思路 根據括號的特點 進行匹配的時候,第乙個做括號最後乙個匹配,最後乙個左括號與第乙個右括號相匹配,恰好可以使用...

判斷括號是否閉合

匹配的賦值為相反數,使用棧進行判斷,如果匹配 棧頂和當前元素的值為相反數 就出棧,否則入棧,最終看棧是否為空,如果為空,則是對應的,我考慮到的情況有 類似 給定乙個只包括 的字串,判斷是否有效。必須以順序閉合,注意順序,閉合。include using namespace std include c...