1. 程式人生 > >[劍指offer]二叉樹的深度

[劍指offer]二叉樹的深度

在這裡插入圖片描述
思路:
使用遞迴方法,先定義出口。在遍歷到null時表示到底返回0,在root節點的左右子樹都為空時是最低一層返回1,對左子樹和右子樹分別使用遞迴進行上述遍歷,以左右子樹節點代替原來的root節點,最後判斷左子樹還是右子樹深度深,返回最深的。
實現:

/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
*/
public
class Solution { public int TreeDepth(TreeNode root) { if(root==null){ return 0; } if(root.left==null && root.right==null){ return 1; } int left=TreeDepth(root.left); int right=TreeDepth(root.right); return left>
right?left+1:right+1; } }