給定乙個只包括 '(',')','','[',']' 的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:
輸入: "()"示例 2:輸出: true
輸入: "(){}"示例 3:輸出: true
輸入: "(]"示例 4:輸出: false
輸入: "([)]"示例 5:輸出: false
輸入: ""左括號後續一旦是錯誤的右括號或者沒有後續的時候,字串便無效。使用棧儲存字元,讀到左括號便存在棧中,讀到右括號就判斷前面的符號是否是合適的左括號,如果不是字串便無效,如果是的便將左括號出棧。最後判斷是否所有左括號都出棧即匹配完成。時間複雜度 \(o(n)\),空間複雜度 \(o(n)\)。輸出: true
public boolean isvalid(string s) else
character top = stack.peek();
if ((c == ')' && top != '(') || (c == '}' && top != '
stack.pop();}}
if (stack.size() != 0)
return true;
}
20 有效括號
1.題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。2.示例 輸入 輸出 true輸入 輸出 false3.思路 可以採用棧來解決,第一步 判斷棧是否空,為空則進乙個括號,若不為空,則判斷當前括號和棧頂元素是否匹配,不...
20 有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...
20 有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...