演算法題 有效的括號 JS實現

2021-10-24 11:37:31 字數 1164 閱讀 3235

給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。

有效字串需滿足:

左括號必須用相同型別的右括號閉合。

左括號必須以正確的順序閉合。

示例 1:

輸入: 「()」 輸出: true

示例 2:

輸入: 「(){}」 輸出: true

示例 3:

輸入: 「(]」 輸出: false

暴力法:

/**

* @param s

* @return

*/var

isvalid

=function

(s)|\[\]/

while

(s.match

(reg)

)return s ===''}

;

var

isvalid

=function

(s)',''

);s = s.

replace(''

,'');

if(s === temp)

return

false;}

return

true;}

;

stack:

var

isvalid

=function

(s)',''

]const

[leftreg, rightreg]=[

/\(||\]/

]for

(let i of s)

if(i.

match

(rightreg)

)else}}

return stack.length ===0}

;

var

isvalid

=function

(s)',}

for(

let i of s)

else

if(i !== stack.

pop())

}return

!stack.length

};

演算法題 最長有效括號

題目描述 給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2 解釋 最長有效括號子串為 示例 2 輸入 輸出 4 解釋 最長有效括號子串為 解法一 使用棧來儲存元素下標,從下標來計算長度。時間複雜度 o n n為字串長度,遍歷每個字串元素。空間複雜度 o n 棧...

leetcode有效的括號(js實現)

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 false 示例 5 輸入 輸...

JS 有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...