设一棵二叉树T采用二叉链表表示,编写一个算法,求T的所有叶结点的值及其所在层次

2025-01-07 06:57:08
推荐回答(2个)
回答1:

调用如下方法即可,例如二叉树的根结点为T,此时调用形式如下:
TraversalTree(&T,0);
具体实现如下:
void TraversalTree(TreeNode *root, int level)
{
if (root == NULL)
return;
if (root->left == NULL && root->right == NULL) //如果是叶子结点
{
printf("Data: %d, Level: %d", root->data, level);
}
TraversalTree(root->left, level + 1);
TraversalTree(root->right, level + 1);
}

回答2:

void bianli(treenode * root)
{
if(root==null)return;
if(root->left==null && root->right==null)
cout<date<bianli(root->left);
bianli( root->right);
}