leecode更新
This commit is contained in:
parent
28e1a9c674
commit
2309bfa13d
|
|
@ -90,4 +90,29 @@ public class T049_MinDepth {
|
|||
return depth;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 思路:评论区对于需要一直找左右的优化,实际上没有优化
|
||||
* 速度击败16.1%,内存击败39.79%
|
||||
* @param root
|
||||
* @return
|
||||
*/
|
||||
public int minDepth2(TreeNode root) {
|
||||
if(root==null){
|
||||
return 0;
|
||||
}
|
||||
if(root.left==null&&root.right==null){
|
||||
return 1;
|
||||
}
|
||||
//2.如果左孩子和由孩子其中一个为空,那么需要返回比较大的那个孩子的深度
|
||||
int m1 = minDepth2(root.left);
|
||||
int m2 = minDepth2(root.right);
|
||||
//这里其中一个节点为空,说明m1和m2有一个必然为0,所以可以返回m1 + m2 + 1;
|
||||
if(root.left == null || root.right == null) return m1 + m2 + 1;
|
||||
|
||||
//3.最后一种情况,也就是左右孩子都不为空,返回最小深度+1即可
|
||||
return Math.min(m1,m2) + 1;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue