求二叉树的高度和销毁一颗二叉树——题集九
今天来分享一下,求二叉树的高度和销毁一颗二叉树以及如何实现链表翻转(链表逆置的升级变型)。
求二叉树的高度和销毁一颗二叉树(Destroy(Node* root) )的源代码和运行示例。
源代码如下:
#include<iostream>
using namespace std;
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x)
:val(x)
,left(NULL)
,right(NULL)
{
}
};
int _Heigt(TreeNode* root){
if(root==NULL) return 0;
int left = _Heigt(root->left);
int right = _Heigt(root->right);
return left>right?left+1:right+1;
}
//二叉树的高度
int Height(TreeNode* root){//二叉树的高度
if(root == NULL)
return 0;
return _Heigt(root);//递归简单
}
void _Destroy(TreeNo