输出二叉树表示的表达式的后缀式,你给我写出代码
时间: 2023-12-03 07:44:51 浏览: 73
输入后缀表达式,即时生成对应的二叉树,计算出表达式的值,并且输出对应的前缀表达式、中缀表达式
好的,以下是Python实现的代码:
```python
class Node:
def __init__(self, val):
self.left = None
self.right = None
self.val = val
def postfix_expression(root):
stack = []
if root:
stack.append(root)
postfix = []
while stack:
node = stack.pop()
postfix.append(node.val)
if node.left:
stack.append(node.left)
if node.right:
stack.append(node.right)
postfix.reverse()
return postfix
```
其中,`Node`是二叉树节点的类,`postfix_expression`是求后缀表达式的函数。我们采用栈来遍历二叉树,并将遍历到的节点的值存入后缀表达式中。最后将后缀表达式翻转即可得到正确的后缀表达式。
阅读全文