又是迭代。。。還是沒掌握到精髓。。最後摸索著寫跑通了。
/*
* * [110] 平衡二叉樹
* *
* * algorithms
* easy (46.02%)
* total accepted: 13k
* total submissions: 27.8k
* testcase example: '[3,9,20,null,null,15,7]'
* * 給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。
* * 本題中,一棵高度平衡二叉樹定義為:
* *
* 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。
* *
* 示例 1:
* * 給定二叉樹 [3,9,20,null,null,15,7]
* * 3
* / \
* 9 20
* / \
* 15 7
* * 返回 true 。
* * 示例 2:
* * 給定二叉樹 [1,2,2,3,3,null,null,4,4]
* * 1
* / \
* 2 2
* / \
* 3 3
* / \
* 4 4
* *
* 返回 false 。
* */
//definition for a binary tree node.
class treenode
}
我的**
class
solution
else
}public
intmaxdepth
(treenode root)
return
1+math.
max(
maxdepth
(root.left)
,maxdepth
(root.right));
}}
大佬的**
public
class
solution
public
intmaxdepth
(treenode root)
}
c++實現
class
solution
bool
checkbalance
(treenode* root,
int& height)
int leftheight =0;
int rightheight =0;
if(!checkbalance
(root-
>left, leftheight)
)return
false;if
(!checkbalance
(root-
>right, rightheight)
)return
false;if
(abs
(leftheight - rightheight)
>1)
return
false
; height =
max(leftheight, rightheight)+1
;return
true;}
};
leetcode 110 平衡二叉樹 平衡二叉樹
leetcode 110 平衡二叉樹 平衡二叉樹要求所有節點的左右子樹的高度差小於1,因此,只需在遍歷的時候返回其左右子樹的深度。definition for a binary tree node.public class treenode treenode int val treenode int...
LeetCode110 平衡二叉樹
給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回true。示例 2 給定二叉樹 1,2,2,3,3,null,nul...
LeetCode 110 平衡二叉樹
給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回true。示例 2 給定二叉樹 1,2,2,3,3,null,nul...