1. 程式人生 > >JS判斷字符串小括號是否成對合法

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

分享 true 圖片 alt 運用 彈出 return pre 發現

一、思路

  1. 要判斷()是否成對;
  2. 運用棧的“後進先出“ 的特點,定義一個空數組,作為棧;
  3. for循環遍歷字符串,當遇到“(”的時候就把“(”添加到空數組最頂端,push方法,記錄發現一個左括號;
  4. 當遇到“)”就把數組中最頂端的元素彈出來,pop方法,抵消一個左括號。註意如果此時數組是空的,但是遇到“)”說明沒有“(”缺少成對的“)”,則返回false;
  5. 不是括號的字符就不用考慮,讓for循環繼續執行,continue。
  6. 遍歷完成後,判斷棧是否為空。如果為空則表明左右括號數量剛好抵消,則返回true,否則返回false。

二、代碼

function is_leagl_brackets(string) {
  
var array = []; for (var i = 0; i < string.length; i++) { var item = string[i]; if (item === "(") { array.push("("); } else if (item === ")") { if (array.length === 0) { return false; } else { array.pop(); } } else { continue; } };
return array.length === 0; }; console.log("(asd):", is_leagl_brackets("(asd)")); console.log("asd(asd(adsfsdf(asdf())))):", is_leagl_brackets("asd(asd(adsfsdf(asdf()))))"));

三、查看結果

技術分享圖片

  

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