如果用一颗二叉树表示加减乘除及0-9的数字构成的数学表达式,对二叉树进行后序遍历得到的就是后缀表达式。后缀表达式可以通过堆栈直接计算其值。
如果输入的是中缀表达式,下面的方法toBinaryTree()将它转化为二叉树。
代码:
测试:
8-((3+5)*(5-(6/2))) = -8.00
本文介绍了一种将中缀表达式转换为二叉树的方法,并通过后序遍历计算表达式的值。该方法适用于仅包含加减乘除运算符和0-9数字的简单表达式。
如果用一颗二叉树表示加减乘除及0-9的数字构成的数学表达式,对二叉树进行后序遍历得到的就是后缀表达式。后缀表达式可以通过堆栈直接计算其值。
如果输入的是中缀表达式,下面的方法toBinaryTree()将它转化为二叉树。
代码:
测试:
8-((3+5)*(5-(6/2))) = -8.00