有效的括號

2021-10-06 15:36:01 字數 1311 閱讀 3428

題目描述:

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

有效字串需滿足:

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

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

注意空字串可被認為是有效字串。

示例 1:

輸入: 「()」

輸出: true

示例 2:

輸入: 「(){}」

輸出: true

示例 3:

輸入: 「(]」

輸出: false

示例 4:

輸入: 「([)]」

輸出: false

示例 5:

輸入: 「」

輸出: true

解題思路:

利用資料結構—棧–進行解決,左括號直接壓進棧中,有括號根據情況不同進行不同處理,如果有左括號則進行判斷,看是否匹配,如果沒有直接返回false

**實現:

bool isvalid

(char

* s)

//利用棧結構體進行判斷

int slen =

strlen

(s);

char

* stack =

(char*)

malloc

(slen +1)

;if(stack ==

null

)memset

(stack,

0x00

, slen)

;int stackindex =0;

int i;

for(i =

0; i < slen; i++

)case

')':

if(stack[stackindex -1]

=='('

)else

break;}

case

'[':

case

']':

if(stack[stackindex -1]

=='['

)else

break;}

case

'case

'}':

if(stack[stackindex -1]

=='else

break;}

default:}

}free

(stack)

; stack =

null;if

(stackindex ==0)

return false;

}

有效的括號

題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。解題思路 坦白來講這道題真的沒什麼思路,掉的坑也比較多,因為審題不認真,最後的一句話,注意空字串可被認為是有效字串。被吃掉了 最後提交的 執...

有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。多組資料 每組是乙個由 組成的括號序列 每組字串長度不超過50。如果有效輸出true,否則輸出false。true true false false ...

有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。多組資料 每組是乙個由 組成的括號序列 每組字串長度不超過50。如果有效輸出true,否則輸出false。true true false false ...