使用Python编写程序以查找两个表达式树是否相等
假设我们提供两个表达式树。我们必须编写一个程序来检查这两个表达式树,并确定它们生成的值是否相似。我们以in-order方式提供了两个表达式树,如果它们匹配,则返回True值,否则返回False值。
因此,如果输入如下:
那么输出将是True。
这两个表达式树的计算结果相同。
为了解决这个问题,我们将按照以下步骤进行:
- 定义一个函数dfs()。这将使用节点和字典作为参数。
- 如果节点为空,则:
- 返回
- 如果节点的左节点和右节点不为空,则:
- 将节点值的字典dic[value of node]加1
- dfs(节点的左子节点,dic)
- dfs(节点的右子节点,dic)
- 如果节点为空,则:
- 创建一个包含整数值的新字典dic1
- 创建一个包含整数值的新字典dic2
- dfs(root1, dic1)
- dfs(root2, dic2)
- 如果dic1等于dic2,则返回True。
更多Python相关文章,请阅读:Python 教程