[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()

  

猜你喜欢

转载自www.cnblogs.com/chiyeung/p/9661445.html