本题要求实现一个函数,统计二叉树表示的表达式中运算符的个数。
函数接口定义:
int OperatorCount ( BiTree T);
T是二叉树树根指针,函数OperatorCount返回二叉树中运算符的个数,若树为空,则返回0。题目保证所给二叉树一定是正确的表达式。
输入样例
对于图中给出的二叉树,输入数据为扩展的先序序列:
+-A##*F##G##C##
输出样例(对于图中给出的树):
3
代码如下:
int OperatorCount ( BiTree T)
{
int m=1;
if(!T) return 0;
if(T->rchild&&T->lchild)
{
m=OperatorCount(T->rchild)+m;
m=OperatorCount(T->lchild)+m;
return m;
}
}