XY(不是TB) 找南工大828,动手之前先沟通一下看看是不是我。
- 题目
用左右链表示二叉树,创建一颗二叉树(给定根节点的值和左右孩子指针)求二叉树的高度以及二叉树中节点数量 - 代码
#include <iostream>
using namespace std;
typedef struct TreeNode
{
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x, TreeNode *left, TreeNode *right)
{
this->left = left;
this->right = right;
this->val = x;
}
} * TreePtr;
int getHeight(TreePtr ptr)
{
if (ptr == nullptr)
{
return 0;
}
else
{
int l = getHeight(ptr->left);
int r = getHeight(ptr->right);
if (l > r)
{
return l + 1;
}
else
{
return r + 1;
}
}
}
int countNode(TreePtr ptr)
{
if (ptr == nullptr)
{
return 0;
}
return countLeaves(ptr->left) + countLeaves(ptr->right) + 1;
}
int main()
{
system("pause");
return 0;
}