def reverseString2(s, coding = 'shift_jis'):
	s = list(unicode(s, coding))
	stack = []
	dic = {')': '(', '}': '{', ']': '['}
	
	for i, c in enumerate(s):
		if stack and dic.get(c, '') == stack[-1][1]:
			s[stack[-1][0]], s[i] = s[i], s[stack[-1][0]]
			stack.pop()
		elif c in '(){}[]':
			stack.append((i, c))
	
	return ''.join(s[::-1]).encode(coding)