给定括号字符串,我们必须做两种操作:
- flip- 将第 i 个括号更改为相反的括号(left->right , right->left)
- 检查字符串是否为平衡括号表达式
字符串的长度最大为 30000。
要执行的操作数最多为 100000。
应该使用什么样的数据结构来解决这类问题?
Segment Tree 是一种合适的数据结构吗?
如果是,应该如何使用它?
例子
字符串 = ()((
操作次数=4
- 翻转 4 {新字符串是 ()()}
- 检查{字符串是否平衡}
- 翻转 2{新字符串变为 ((()}
- 检查{字符串不平衡}