/** * definition for a binary tree node.
* struct treenode
* }; */
//深度優先:遞迴版
class
solution
};//
深度優先:用棧的迴圈版
class
solution
p=s.top().first;//
若左邊無路,就預備右拐。右拐之前,記錄右拐點的基本資訊
deep=s.top().second;
if(maxdeep//
預備右拐時,比較當前節點深度和之前儲存的最大深度
s.pop();//
將右拐點出棧;此時棧頂為右拐點的前乙個結點。在右拐點的右子樹全被遍歷完後,會預備在這個節點右拐
p=p->right;
}return
maxdeep;
}};//
廣度優先:使用佇列
class
solution
}return
deep;
}};
求二叉樹的最大深度
二叉樹的題目,大部分都能用分治的思路來解題。求二叉樹的最大深度,就是求左 右子數的最大深度 1即可。給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的距離。樣例給出一棵如下的二叉樹 1 2 3 4 5這個二叉樹的最大深度為3.definition of treenode publi...
104 求二叉樹最大深度
1 class solution 9int left length maxdepth root left 左展開去求深度 10int right length maxdepth root right 11if left length right length 1215 else 1619 20 1 ...
求二叉樹的最大or最小深度
給定乙個二叉樹,找出其最大深度。最大深度即二叉樹的高度,就是根節點到最遠葉子節點的最長路徑上的節點數。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3.通過遞迴,依次查詢左 右子節點的最大深度,並返回給根節點乙個最大深度。var maxdept...