国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

js判斷括號(hào)是否合法

在編程中,判斷括號(hào)是否合法是一個(gè)常見(jiàn)的問(wèn)題。例如,對(duì)于表達(dá)式"(a b)*(c-d)",我們希望能夠通過(guò)程序來(lái)驗(yàn)證其中的括號(hào)是否匹配正確。本文將介紹使用JavaScript實(shí)現(xiàn)括號(hào)合法性判斷的方法。一

在編程中,判斷括號(hào)是否合法是一個(gè)常見(jiàn)的問(wèn)題。例如,對(duì)于表達(dá)式"(a b)*(c-d)",我們希望能夠通過(guò)程序來(lái)驗(yàn)證其中的括號(hào)是否匹配正確。本文將介紹使用JavaScript實(shí)現(xiàn)括號(hào)合法性判斷的方法。

一、棧的應(yīng)用

棧是一種后進(jìn)先出(LIFO)的數(shù)據(jù)結(jié)構(gòu),非常適合用來(lái)解決括號(hào)匹配的問(wèn)題。我們可以遍歷表達(dá)式中的每一個(gè)字符,當(dāng)遇到左括號(hào)時(shí),將其壓入棧中;當(dāng)遇到右括號(hào)時(shí),判斷棧頂?shù)淖址欠駷橄鄳?yīng)的左括號(hào),如果是,則將棧頂?shù)淖址鰲#^續(xù)遍歷下一個(gè)字符;如果不是,則說(shuō)明括號(hào)不匹配,返回false。

以下是使用棧實(shí)現(xiàn)括號(hào)匹配的代碼示例:

```javascript

function isParenthesesValid(expression) {

let stack [];

for (let i 0; i < expression.length; i ) {

if (expression[i] '(' || expression[i] '[' || expression[i] '{') {

stack.push(expression[i]);

} else if (expression[i] ')' || expression[i] ']' || expression[i] '}') {

if (stack.length 0) {

return false;

}

let top stack.pop();

if ((expression[i] ')' top ! '(') || (expression[i] ']' top ! '[') || (expression[i] '}' top ! '{')) {

return false;

}

}

}

return stack.length 0;

}

let expression "(a b)*(c-d)";

console.log(isParenthesesValid(expression));

```

二、遍歷字符串的實(shí)現(xiàn)

除了使用棧,我們還可以使用遍歷字符串的方式來(lái)判斷括號(hào)是否合法。思路是創(chuàng)建一個(gè)計(jì)數(shù)器,遍歷表達(dá)式中的每一個(gè)字符,當(dāng)遇到左括號(hào)時(shí),計(jì)數(shù)器加一;當(dāng)遇到右括號(hào)時(shí),計(jì)數(shù)器減一。如果在遍歷過(guò)程中計(jì)數(shù)器小于零,或者最終計(jì)數(shù)器不等于零,則說(shuō)明括號(hào)不匹配,返回false。

以下是使用遍歷字符串實(shí)現(xiàn)括號(hào)匹配的代碼示例:

```javascript

function isParenthesesValid(expression) {

let count 0;

for (let i 0; i < expression.length; i ) {

if (expression[i] '(') {

count ;

} else if (expression[i] ')') {

count--;

if (count < 0) {

return false;

}

}

}

return count 0;

}

let expression "(a b)*(c-d)";

console.log(isParenthesesValid(expression));

```

綜上所述,本文介紹了使用JavaScript判斷括號(hào)是否合法的兩種方法:棧的應(yīng)用和遍歷字符串。讀者可以根據(jù)自己的實(shí)際需求選擇合適的方法來(lái)解決括號(hào)匹配問(wèn)題。

標(biāo)簽: