劍指offer----二叉樹的深度
題目描述
輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。
//遞迴呼叫,很簡單,要用非遞迴的話,用queue實現,帶上一個層數即可 class Solution { public: int depth(TreeNode* root,int nowDepth) { if(root==NULL)return nowDepth; return max(depth(root->left,nowDepth+1),depth(root->right,nowDepth+1)); } int TreeDepth(TreeNode* pRoot) { return depth(pRoot,0); } };
相關推薦
劍指Offer 二叉樹的深度
right 步驟 最長 depth lan tar rank link span 題目描述:輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 題目鏈接:二叉樹的深度 思路:通過廣度優先遍歷(
劍指offer-二叉樹的深度
繼續 輸入 結點 解題思路 gpo post -i bject 初始 題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 解題思路 max_dep保存最大深度,cur_dep保存當前遍歷節
劍指Offer——①二叉樹的深度
BE 二叉樹 max title spa return 二叉 nbsp null 時間限制:1秒 空間限制:32768K 題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 /* s
劍指offer-- 二叉樹的深度
題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 AC程式碼 /** public class TreeNode { int val = 0; TreeNode left = nul
劍指offer-------二叉樹的深度
題目 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 思路 這道題蠻簡單的,求二叉樹的深度。可以是遞迴的方法,屬於DFS(深度優先搜尋);另一種方法是按照層次遍歷,屬於BFS(廣度優先搜尋)。
劍指offer 二叉樹的深度 python
題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 樣例 返回深度即可 想法一: 遞迴遍歷 class Solutio
[劍指offer]二叉樹的深度
思路: 使用遞迴方法,先定義出口。在遍歷到null時表示到底返回0,在root節點的左右子樹都為空時是最低一層返回1,對左子樹和右子樹分別使用遞迴進行上述遍歷,以左右子樹節點代替原來的root節點,最後判斷左子樹還是右子樹深度深,返回最深的。 實現: /** public class
劍指Offer - 二叉樹的深度(Java實現)
題目描述: 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 思路分析: 方法1:遞迴的思想解決問題。 public class Solution { public int TreeDe
劍指offer----二叉樹的深度
題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 //遞迴呼叫,很簡單,要用非遞迴的話,用queue實現,帶上一個層數即可 class Solution { public:
24、劍指offer--二叉樹中和為某一值的路徑
val 遍歷 描述 所有 oid res bold eno bsp 題目描述 輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。 解題思路:本題采用先序遍歷,遍歷到葉子節點,如果和
57、劍指offer--二叉樹的下一結點
ont amp class -- 其中 pre 劍指offer 左右 註意 題目描述 給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。註意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指針。 解題思路:兩種情況,若果一個結點有右子樹,那麽其
劍指offer---二叉樹的下一個結點
node 下一個 -- style 二叉樹 結點 right fat turn /* struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *ri
劍指offer---二叉樹和雙向鏈表
劍指offer 中序 logs style nbsp return public void cnblogs //肯定是要用中序遍歷。。。可是開始不怎麽會弄 //為什麽這麽菜 /* struct TreeNode { int val; struct Tr
劍指offer-二叉樹的鏡像
swap event lose 先序 display null pre 簡單題 color 先序遍歷,交換子樹即可,註意空節點的情況,這種簡單題考的就是細節... /* struct TreeNode { int val; struct Tr
劍指Offer——二叉樹的鏡像
right pro 二叉樹 offer swa div mirror nod bsp 題目描述: 操作給定的二叉樹,將其變換為源二叉樹的鏡像。 輸入描述: 二叉樹的鏡像定義: 源二叉樹 8 / 6
劍指Offer——二叉樹中和為某一值的路徑
roo int paths struct () node nod cnblogs ret 題目描述: 輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。 分析: 先序遍歷二叉樹,找到
劍指Offer——二叉樹的下一個結點
劍指offer col 註意 包含 amp 下一個 nbsp 如果 logs 題目描述: 給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。註意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指針。 分析: 如果該結點存在右子樹,那麽返回右子樹的
[劍指offer] 二叉樹的鏡像
left sub bject pre roo 遍歷 變換 pro tmp 題目描述 操作給定的二叉樹,將其變換為源二叉樹的鏡像。 輸入描述: 二叉樹的鏡像定義:源二叉樹 8 / 6 10 / \ /
劍指Offer 二叉樹的鏡像
left 思路 只有一個 lan turn 二叉 www. pid 隊列 題目描述:操作給定的二叉樹,將其變換為源二叉樹的鏡像。 題目鏈接:二叉樹的鏡像 思路:通過BFS來遍歷每個結點,交換當前結點的左右孩子結點即交換左右子樹。 步驟: 1 如果根結點為
劍指Offer-二叉樹的下一個結點
next 子節點 this link pre gpo 思路 返回 二叉樹遍歷 題目描述 給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。註意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指針。 思路 分析二叉樹的下一個節點,一共有以下情況: