
這題需要判斷括號是否都成對。
LeetCode 題目連結
https://leetcode.com/problems/valid-parentheses/
題目
Given a string containing just the characters
'('
, ')'
, '{'
, '}'
, '['
and ']'
, determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
Note that an empty string is also considered valid.
Example 1:
Input: "()" Output: true
Example 2:
Input: "()[]{}" Output: true
Example 3:
Input: "(]" Output: false
Example 4:
Input: "([)]" Output: false
Example 5:
Input: "{[]}" Output: true
Accept 作法
Runtime: 1 ms
Memory: 37.4 MB
Java 程式碼
- class Solution {
- public boolean isValid(String s) {
- Stack stack = new Stack();
- for(int i = 0; i<s.length();i++){
- char ch = s.charAt(i);
- if(stack.size() == 0 || ch == '(' || ch == '[' || ch == '{'){
- stack.push(ch);
- continue;
- }
- char chPop = (char)stack.peek();
- if(ch ==')' && chPop == '('){
- stack.pop();
- }else if(ch ==']' && chPop == '['){
- stack.pop();
- }else if(ch =='}' && chPop == '{'){
- stack.pop();
- }else{
- stack.push(ch);
- }
- }
- return stack.size() == 0;
- }
- }
更多 LeetCode 相關資源
複習程式面試書籍
除了 LeetCode 練習外,我也入手了這本,題庫來自真正的面試,並非摘自教科書。它們反映出頂尖公司真正會出的題目,你可以藉此做好充分準備。
需要的話可以看看,寫得很仔細。
需要的話可以看看,寫得很仔細。

沒有留言:
張貼留言