我无法为这个自动机构建过渡函数。
我想我应该为每个a堆叠1并为每个b堆叠它
c的数量等于ab对的数量,所以我认为我应该为每个遇到的b堆叠一个0。事情是:我如何取消堆叠1并同时添加0?
答案 0 :(得分:5)
每次遇到0
时,请勿将b
推入堆栈。相反,每次遇到0
时,将b
推入堆栈,堆栈为空或堆栈顶部为0
。
所以,使用aabbabcc
:
read a push 1
read a push 1
read b pop 1
read b pop 1
stack is empty so push 0
read a push 1
read b pop 1
top of stack is 0 so push 0
read c pop 0
read c pop 0
Stack为空,所以我们接受这个字符串。