111. 二叉樹的最小深度
**隨想錄
給定乙個二叉樹,找出其最小深度。
最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。
說明:葉子節點是指沒有子節點的節點。
示例:
給定二叉樹[3,9,20,null,null,15,7]
,
3
/ \9 20
/ \
15 7
返回它的最小深度 2.
/**遞迴
* definition for a binary tree node.
* struct treenode
* };
*/class solution
if(root->left !=nullptr && root->right == nullptr)
return 1 + min(leftdepth, rightdepth);
}int mindepth(treenode* root)
};
/**迭代法:層次遍歷
* definition for a binary tree node.
* struct treenode
* };
*/class solution
}if(flag == 1) break;
}return depth;
}};
求二叉樹最小深度和最大深度
3.利用廣度優先搜尋求最小深度 總結在刷leetcode時,把二叉樹最小深度和最大深度搞混了,在這裡mark下 二叉樹 binary tree 是指樹中節點的度不大於2的有序樹,它是一種最簡單且最重要的樹 如下 示例 public int maxdepth treenode root 總體的思路就是...
求樹的深度
輸入一棵二元樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如 輸入二元樹 10 6 14 4 12 16輸出該樹的深度3。實現簡單的乙個查詢二叉樹的深度的函式。int gettreeheight tnode root int l...
求樹的深度
1.以孩子兄弟鍊錶作為儲存結構 資料結構 typedef struct csnodecsnode,cstree 演算法 int depth cstree t return m 1 子樹的最大深度加上根節點的深度 2.利用層次遍歷,還是用上述資料結構 演算法思想 利用佇列,將節點按層次順序入隊,出隊,...