有效的括號

2021-08-19 18:59:25 字數 1202 閱讀 5642

題目描述:

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

有效字串需滿足:

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

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

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

解題思路:

坦白來講這道題真的沒什麼思路,掉的坑也比較多,因為審題不認真,最後的一句話,「注意空字串可被認為是有效字串。」被吃掉了-_-|||

最後提交的**執行效率也比較低,下次想想有沒有更好的實現。

大體思路:

把字串轉換成char,陣列中第一位不是(、{、[,直接返回false。

定義乙個儲存物件,我用的stringbuilder。

迴圈陣列,如果儲存物件為空,將當前放入儲存物件,進入下一次迴圈;

當前值判斷是否與儲存物件的最後一位相等,相等,繼續將當前值放入儲存物件,進入下一次迴圈;

不相等,判斷是否為儲存物件最後一位括號的閉合括號,不相等情況下判斷當前值是否為(、{、[;

是:將當前值放入儲存物件,開始下一次迴圈;

否:當前符串可以確認不是有效字串,結束迴圈,返回false。

class solution 

if(alength % 2 == 1)

char c1,c2,c3;

stringbuilder temp = new stringbuilder();

for(int i = 0; i < alength; i++)

}if("".equals(temp.tostring()))else

if(c1 != c2)

if(c1 != c3 && checkstart(c2))

if(c1 != c3 && !checkstart(c2))}}

}if(temp.length() > 0)

return flag;

}public char getantonym(char c)

if(']' == c)

if('}' == c)

return returnvalue;

}public boolean checkstart(char c)

return flag;

}}

有效的括號

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

有效的括號

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

有效的括號

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