二叉樹相關題目
//判定二叉樹是不是平衡二叉樹
//網上的版本要不斷的重複計算
//返回-1,以x為頭的子樹不是平衡二叉樹
//否則返回值是 子樹的深度
int BalantTree(Node *x)
{
if(x ==NULL)
return 0;
int right = BalantTree(x.right);
int left = BalantTree(x.left);
if(right<0 || left<0)
return -1;
if(abs(right - left)>1)
return -1;
return 1+((right>left)?right:left);
}
網上的版本
- template<typename T>
- int DepthTree(BSTreeNode<T> *pbs)
- {
- if (pbs==NULL)
- return 0;
- else
- {
- int leftLength=DepthTree(pbs->left);
- int rigthLength=DepthTree(pbs->right);
- return 1+(leftLength>rigthLength ? leftLength:rigthLength);
- }
- }
- template<typename T>
- bool isBalanceTree(BSTreeNode<T> *pbs)
- {
- if (pbs==NULL)
- {
- return true;
- }
- int depthLeft=DepthTree(pbs->left);
- int depthRight=DepthTree(pbs->right);
- if (abs(depthLeft-depthRight)>1)
- return false;
- else
- return isBalanceTree(pbs->left) && isBalanceTree(pbs->right);
- }
相關文章
- 部分二叉樹題目彙總二叉樹
- Day15 二叉樹Part2 初見回溯(二叉樹相關)二叉樹
- Day14 二叉樹Part2 遞迴的應用(二叉樹相關)二叉樹遞迴
- 二叉連結串列儲存結構、二叉樹相關操作二叉樹
- Leetcode 二叉樹題目集合 (看完這個面試不會做二叉樹題,辣條給你!!!!!)LeetCode二叉樹面試
- 關於二叉樹二叉樹
- 二叉樹(資料結構)——利用“遞迴”思想實現相關演算法問題二叉樹資料結構遞迴演算法
- 相同二叉樹和鏡面二叉樹問題二叉樹
- 刷題系列 - 在二叉樹中,為每個節點關聯其右相鄰節點二叉樹
- 滑動視窗相關的題目總結
- 【javascript實現】幾道題目帶你學習二叉搜尋樹JavaScript
- 【C++】“反轉連結串列”相關的題目C++
- 樹的相關術語
- 滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹二叉樹
- 二叉樹高頻題(下)二叉樹
- 一篇文章搞定面試中的二叉樹題目(java實現)面試二叉樹Java
- 面試題7:重建二叉樹面試題二叉樹
- 二叉樹的最小深度問題二叉樹
- 幾道和「二叉樹」有關的演算法面試題二叉樹演算法面試題
- 字串處理 Rabin-Karp (Rolling Hash)及相關LeetCode題目字串LeetCode
- LeetCode題解(Offer26):判斷二叉樹A是否為二叉樹B的子樹(Python)LeetCode二叉樹Python
- 目標檢測相關論文
- 排序二叉樹和平衡二叉樹排序二叉樹
- 出題相關
- 二叉樹(順序儲存二叉樹,線索化二叉樹)二叉樹
- [每日一題] 第八題:二叉樹的深度每日一題二叉樹
- [每日一題] 第三題:二叉樹的深度每日一題二叉樹
- 到達二叉樹目標節點的完整路徑二叉樹
- 一道關於二叉樹的位元組面試題的思考二叉樹面試題
- 創新實訓(八)——題目相關的邏輯處理解釋
- 手擼二叉樹——AVL平衡二叉樹二叉樹
- 手擼二叉樹——二叉查詢樹二叉樹
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- CVPR2017-目標檢測相關
- 二叉樹二叉樹
- 樹的定義及相關術語
- uoj專案部署中題目管理的相關學習與應用
- 【LeetCode-二叉樹】二叉樹前序遍歷LeetCode二叉樹
- 判斷二叉樹是否為滿二叉樹二叉樹