遞迴判斷是否二叉平衡樹
可以說是相當簡潔粗暴了。
#include<iostream>
#include<algorithm>
using namespace std;
struct Node{
int val;
Node *left,*right;
Node(int x):val(x),left(NULL),right(NULL){}
};
int height(Node* root){
if(root == NULL) return 0;
return max(height(root->left),height(root->right))+1;
}
int Is_AVL(Node* root){
if(root == NULL) return 0;
return abs(height(root->left) - height(root->right)) <= 1;
}
int main(){
Node* root = new Node(1);
root->left = new Node(2);
root->right = new Node(3);
root->left->left = new Node(4);
// root->left->left->left = new Node(5);
cout<<Is_AVL(root);
return 0;
}
相關文章
- 如何判斷一棵樹是否是二叉平衡樹~
- 二叉平衡樹 python 列表 遞迴Python遞迴
- [Python手撕]判斷平衡二叉樹Python二叉樹
- 判斷二叉樹是否為滿二叉樹二叉樹
- JZ79 判斷是不是平衡二叉樹二叉樹
- LC49判斷二叉樹是否相等二叉樹
- 【C++】判斷一顆二叉樹是否對稱C++二叉樹
- 遍歷二叉樹-------遞迴&非遞迴二叉樹遞迴
- 刷題系列 - Python判斷是否映象對稱二叉樹Python二叉樹
- LeetCode題解(Offer26):判斷二叉樹A是否為二叉樹B的子樹(Python)LeetCode二叉樹Python
- 二叉樹的遞迴套路二叉樹遞迴
- 【C++】翻轉二叉樹(遞迴、非遞迴)C++二叉樹遞迴
- 判斷序列是否是二叉搜尋樹的後續遍歷
- LeetCode題解(Offer28):判斷二叉樹是否左右對稱(Python)LeetCode二叉樹Python
- 平衡二叉樹二叉樹
- 二叉樹的四種遍歷(遞迴與非遞迴)二叉樹遞迴
- 什麼是遍歷二叉樹,JavaScript實現二叉樹的遍歷(遞迴,非遞迴)二叉樹JavaScript遞迴
- 使用Python實現一個棧, 判斷括號是否平衡Python
- 排序二叉樹和平衡二叉樹排序二叉樹
- 樹3-二叉樹非遞迴遍歷(棧)二叉樹遞迴
- 平衡二叉樹(AVL)二叉樹
- [Python手撕]判斷二叉搜尋樹Python
- 遍歷二叉樹的遞迴與非遞迴程式碼實現二叉樹遞迴
- 採用層次遍歷判斷二叉樹為完全二叉樹二叉樹
- Day14 | 二叉樹遞迴遍歷二叉樹遞迴
- 二叉樹 遞迴 洛谷P1364二叉樹遞迴
- 非遞迴先序遍歷二叉樹遞迴二叉樹
- 手擼二叉樹——AVL平衡二叉樹二叉樹
- 二叉樹建立後,如何使用遞迴和棧遍歷二叉樹?二叉樹遞迴
- 平衡二叉樹,B樹,B+樹二叉樹
- 二叉樹的前中後序遍歷(遞迴和非遞迴版本)二叉樹遞迴
- python實現二叉樹及其七種遍歷方式(遞迴+非遞迴)Python二叉樹遞迴
- 二叉樹——後序遍歷的遞迴與非遞迴演算法二叉樹遞迴演算法
- 平衡二叉樹(AVL樹)和 二叉排序樹轉化為平衡二叉樹 及C語言實現二叉樹排序C語言
- 110. 平衡二叉樹二叉樹
- 【資料結構虛擬碼】設計判斷一棵二叉樹是否是二叉排序樹的演算法資料結構二叉樹排序演算法
- Leetcode 題解系列 -- 對稱二叉樹(遞迴)LeetCode二叉樹遞迴
- 遍歷二叉樹的迭代和遞迴方法二叉樹遞迴