⭐️
# 題目敘述
Given a string s
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.
Every close bracket has a corresponding open bracket of the same type.
# Example 1:
Input: s = "()"
Output: true
# Example 2:
Input: s = "(){}"
Output: true
# Example 3:
Input: s = "(]"
Output: false
# 解題思路
利用 stack。
# Solution
import java.util.Stack; | |
class Solution { | |
public boolean isValid(String s) { | |
if (s.length() % 2 != 0) { | |
return false; | |
} | |
Stack<Character> stack = new Stack<>(); | |
for (char c : s.toCharArray()) { | |
switch(c){ | |
case '(': case '{': case '[': | |
stack.push(c); | |
break; | |
case ')': | |
if(stack.isEmpty() || stack.pop() != '(') return false; | |
break; | |
case '}': | |
if(stack.isEmpty() || stack.pop() != '{') return false; | |
break; | |
case ']': | |
if(stack.isEmpty() || stack.pop() != '[') return false; | |
break; | |
} | |
} | |
return (stack.isEmpty()); | |
} | |
} |
單字
** **
!! !!
片語 & 搭配詞
!! !!