コード例 #1
0
def check_balanced_brackets(bracket_str):
    bracket_list = list(bracket_str)
    bracket_stack = Stack()
    for symbol in bracket_list:
        if symbol in ['(', '{', '[']:
            bracket_stack.push(symbol)
            continue
        elif symbol in [')', '}', ']']:
            if not bracket_stack.is_empty() and pair_match(
                    symbol, bracket_stack.peak()):
                bracket_stack.pop()
            else:
                return False
        else:
            raise Exception('Invalid symbol found')
    return bracket_stack.is_empty()
コード例 #2
0
 def test_peak(self):
     stack = Stack()
     self.assertIsNone(stack.peak())
     stack.push(5)
     self.assertEqual(stack.peak(), 5)
     self.assertEqual(len(stack), 1)