劍指Offer-二叉樹-(8)
知識點/資料結構:二叉樹
題目描述
輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。
思路:遞迴的思路
public class Solution { public int TreeDepth(TreeNode root) { //2018.10.07找了大王八取經,夢想還是要有的。 if(root==null){ return 0; } int nLelt=TreeDepth(root.left); int nRight=TreeDepth(root.right); return nLelt>nRight?(nLelt+1):(nRight+1); } }
相關推薦
劍指Offer-二叉樹-(8)
知識點/資料結構:二叉樹 題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 思路:遞迴的思路 public class Solution { public int TreeDepth(Tre
劍指Offer-二叉樹-(9)
知識點/資料結構:二叉樹 題目描述 輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。 //一次編譯通過!!!!!!!加油這是個訊號。頭條,等我!!!!!1 public class Solution { public boolean IsBalanced_Solution
劍指Offer-二叉樹-(11)
知識點/資料結構:二叉樹 題目描述 請實現一個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。 思路 看鏡子,左右手比劃一下。 直接上程式碼。 /* public class TreeNode { int val
劍指Offer-二叉樹-(12)
知識點/資料結構:二叉樹 題目描述 從上到下按層列印二叉樹,同一層結點從左至右輸出。每一層輸出 注意點 觀察資料容器中賽資料的過程 import java.util.ArrayList; import java.util.Stack; import java.util.Lin
劍指Offer-二叉樹-(13)
知識點/資料結構:二叉樹 題目描述 請實現兩個函式,分別用來序列化和反序列化二叉樹 注意點 這些經典的資料操作一定熟記住 /* public class TreeNode { int val = 0; TreeNode left = null; Tre
劍指Offer-二叉樹-(14)
知識點/資料結構:二叉樹 題目描述 給定一棵二叉搜尋樹,請找出其中的第k小的結點。例如, (5,3,7,2,4,6,8) 中,按結點數值大小順序第三小結點的值為4。 /* public class TreeNode { int val = 0; TreeNode le
劍指Offer-二叉樹-(10)
知識點/資料結構:二叉樹 題目描述: 給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。 思路 注意二叉樹的節點的定義:樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。 也就是三個屬性;
劍指offer:二叉樹中和為某一值的所有路徑(java)
題目:輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。從樹的根節點開始往下一直到葉結點所經過的所有的結點形成一條路徑。 如下圖,輸入二叉樹和整數22,則打印出兩條路徑,第一條路徑包含結點10,12,第二條路徑包含的結點為10,5,7.
劍指offer 二叉樹中和為某一值的路徑(C++)
題目描述輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。#include<iostream> #include<vector> using namespace
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 二叉樹的深度
right 步驟 最長 depth lan tar rank link span 題目描述:輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 題目鏈接:二叉樹的深度 思路:通過廣度優先遍歷(
劍指Offer 二叉樹的鏡像
left 思路 只有一個 lan turn 二叉 www. pid 隊列 題目描述:操作給定的二叉樹,將其變換為源二叉樹的鏡像。 題目鏈接:二叉樹的鏡像 思路:通過BFS來遍歷每個結點,交換當前結點的左右孩子結點即交換左右子樹。 步驟: 1 如果根結點為