加1是因為首先進來,需要先加一層,這一層是根節點也可以理解是上一層的高度計數
這種是遞迴方式
class
myclass
int leftdepth =
maxdepth
(root-
>left)
;int rightdepth =
maxdepth
(root-
>right)
;return
max(leftdepth, rightdepth)+1
;}};
下面這種是非遞迴方式
int
maxdepthunrecrusion
(treenode* root)
queue> st;
int level =0;
st.push
(root)
;while
(!st.
empty()
)if(tmp-
>right)}}
return level;
}
二叉樹的深度 二叉樹的深度
題目描述輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。及測試用例 單步除錯檢視過程 public class solution19 拿到左子樹的最大深度 int leftdep treedepth root.left 拿到右子...
二叉樹之 二叉樹深度
二叉樹深度 獲取最大深度 public static int getmaxdepth treenode root 二叉樹寬度 使用佇列,層次遍歷二叉樹。在上一層遍歷完成後,下一層的所有節點已經放到佇列中,此時佇列中的元素個數就是下一層的寬度。以此類推,依次遍歷下一層即可求出二叉樹的最大寬度 獲取最大...
二叉樹深度
試題描述 採用使用者輸入並基於前序遍歷元素的方式建立乙個儲存人名的二叉鏈樹,使用者輸入兩個人的姓名,如果存在,則輸出兩個人的輩份相差多少,以及是否能夠通婚 五代以內 即本人,父母,祖父母,曾祖父母,高祖父母 不可通婚 樣例輸入 abdfjl m g c.eh i.kn op l p樣例輸出1no i...