二叉樹相關題目
//判定二叉樹是不是平衡二叉樹
//網上的版本要不斷的重複計算
//返回-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
- 滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹二叉樹
- 面試題7:重建二叉樹面試題二叉樹
- 二叉樹高頻題(下)二叉樹
- 【C++】“反轉連結串列”相關的題目C++
- 一篇文章搞定面試中的二叉樹題目(java實現)面試二叉樹Java
- 幾道和「二叉樹」有關的演算法面試題二叉樹演算法面試題
- 二叉樹 & 二叉查詢樹二叉樹
- C++二叉樹筆試題C++二叉樹筆試
- 一道關於二叉樹的位元組面試題的思考二叉樹面試題
- 排序二叉樹和平衡二叉樹排序二叉樹
- 二叉查詢樹(二叉排序樹)排序
- 二叉樹(順序儲存二叉樹,線索化二叉樹)二叉樹
- [每日一題] 第八題:二叉樹的深度每日一題二叉樹
- [每日一題] 第三題:二叉樹的深度每日一題二叉樹
- 【資料結構】網易2012校園招聘題目--平衡二叉樹的插入問題資料結構二叉樹
- 手擼二叉樹——二叉查詢樹二叉樹
- 手擼二叉樹——AVL平衡二叉樹二叉樹
- 到達二叉樹目標節點的完整路徑二叉樹
- 面試題37:序列化二叉樹面試題二叉樹
- 二叉樹的最小深度問題二叉樹
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹