//给定一个只包括 '',')','{','}','[',']' 的字符串,判断字符串是否有效。
//
// 有效字符串需满足:
//
//
// 左括号必须用相同类型的右括号闭合。
// 左括号必须以正确的顺序闭合。
//
//
// 注意空字符串可被认为是有效字符串。
//
// 示例 1:
//
// 输入: ")"
//输出: true
//
//
// 示例 2:
//
// 输入: ")[]{}"
//输出: true
//
//
// 示例 3:
//
// 输入: "]"
//输出: false
//
//
// 示例 4:
//
// 输入: "[)]"
//输出: false
//
//
// 示例 5:
//
// 输入: "{[]}"
//输出: true
// Related Topics 栈 字符串
package leetcode.editor.cn;
import java.util.Stack;
//Java:有效的括号
public class P20ValidParentheses {
public static void mainString[] args) {
Solution solution = new P20ValidParentheses).new Solution);
// TO TEST
String s = ")";
System.out.printlnsolution.isValids));
}
//leetcode submit region beginProhibit modification and deletion)
class Solution {
public boolean isValidString s) {
if s == null) {
return true;
}
if s.length) % 2 != 0) {
return false;
}
if s.isEmpty)) {
return true;
}
Stack<Character> stack = new Stack<Character>);
for char c : s.toCharArray)) {
if c == '')
stack.push')');
else if c == '{')
stack.push'}');
else if c == '[')
stack.push']');
else if stack.empty) || c != stack.pop))
return false;
}
if stack.empty)) {
return true;
}
return false;
}
}
//leetcode submit region endProhibit modification and deletion)
}