1. 程式人生 > >Valid Parentheses(括號匹配)

Valid Parentheses(括號匹配)

nta body 括號匹配 ren 判斷 != pan val pre

解決思路:

1. 棧

2.使用Map,判斷是否

 public boolean isValid(String s) {
        Stack<Character> parens = new Stack<>();
        
        Map<Character, Character> parenMap = new HashMap<>();
        parenMap.put(‘(‘, ‘)‘);
        parenMap.put(‘[‘, ‘]‘);
        parenMap.put(‘{‘, ‘}‘);
        
        
        
for (int i = 0; i < s.length(); i++) { char paren = s.charAt(i); boolean isLeft = parenMap.containsKey(paren); if (isLeft) { parens.push(paren); } else { if (parens.empty()) {
return false; } char leftSide = parens.pop(); if (parenMap.get(leftSide) != paren) { return false; } } } return parens.empty(); }

匹配

Valid Parentheses(括號匹配)