給定一個只包括 '(',')','{','}','[',']' 的字符串,判斷字符串是否有效。bash
有效字符串需知足:ui
左括號必須用相同類型的右括號閉合。 左括號必須以正確的順序閉合。 注意空字符串可被認爲是有效字符串。spa
輸入: "()"
輸出: true
輸入: "()[]{}"
輸出: true
輸入: "(]"
輸出: false
輸入: "([)]"
輸出: false
輸入: "{[]}"
輸出: true
複製代碼
public boolean isValid(String s) {
if (s.isEmpty()){
return true;
}
Stack<Character> stack = new Stack<>();
char[] chars = s.toCharArray();
for (int i = 0;i<chars.length;i++){
if (chars[i] == '{'){
stack.push('}');
}else if (chars[i] == '['){
stack.push(']');
}else if (chars[i] == '('){
stack.push(')');
}else if (stack.isEmpty() || chars[i]!=stack.pop()){
return false;
}
}
return stack.isEmpty();
}
複製代碼