[Data Structure] An Algorithm for Matching Delimiters

An important task when processing arithmetic expressions is to mach delimiters.

We can use Stack to solve this problem.

def is_matched(expr):
	left='({['
	right=')}]'

	S=ArrayStack()

	for c in expr:
		if c in left:
			S.push(c)
		elif c in right:
			if S.is_empty():
				return False
			if right.index(c)!=left.index(S.pop()):
				return False
	return S.is_empty()

  

posted on 2018-09-17 12:36  chiyeung  阅读(93)  评论(0编辑  收藏  举报

导航