JS判斷字串小括號是否成對合法

2022-04-04 20:15:36 字數 659 閱讀 8023

一、思路

要判斷()是否成對;

運用棧的「後進先出「 的特點,定義乙個空陣列,作為棧;

for迴圈遍歷字串,當遇到「(」的時候就把「(」新增到空陣列最頂端,push方法,記錄發現乙個左括號;

當遇到「)」就把陣列中最頂端的元素彈出來,pop方法,抵消乙個左括號。注意如果此時陣列是空的,但是遇到「)」說明沒有「(」缺少成對的「)」,則返回false;

不是括號的字元就不用考慮,讓for迴圈繼續執行,continue。

遍歷完成後,判斷棧是否為空。如果為空則表明左右括號數量剛好抵消,則返回true,否則返回false。

二、**

function

is_leagl_brackets(string)

else

if (item === ")")

else

} else

};return array.length === 0;

};console.log("(asd):", is_leagl_brackets("(asd)"));

console.log("asd(asd(adsfsdf(asdf())))):", is_leagl_brackets("asd(asd(adsfsdf(asdf()))))"));

三、檢視結果

棧應用 判斷字串中括號是否成對出現

利用棧先將後出的特性,判斷字串中的數字表示式括號是否成對匹配,如果沒有給出錯誤位置資訊提示。思路很簡單,如果是左括號將左括號 就入棧,遇到右括號 棧中的左括號出棧。如果該出棧的時候,棧空 肯定匹配錯誤。還有就是表示式遍歷完畢,我們的棧 如果是全部匹配成功 棧肯定為空,不為空 匹配錯誤!這裡我們使用之...

判斷字串括號是否合法 2

例 1 判斷字串括號是否合法 題目 字串中只有字元 和 合法字串需要括號可以配對。比如 輸入 輸出 true 解釋 是合法的。是非法的。package leetcode public class stacksolution2 當字串長度為奇數的時候,不可能是乙個有效的合法字串 if s.length...

js判斷字串是否相等

兩個字串匹配一般使用 或者 判斷,其不同是 1.equality 等同,identity 恒等。2.兩邊值型別不同的時候,要先進行型別轉換,再比較。3.不做型別轉換,型別不同的一定不等。匹配 不同型別間比較,之比較 轉化成同一型別後的值 看 值 是否相等var str1 a var str2 b v...