牛客网在线编程专题《剑指offer-面试题39》二叉树的深度

版权声明:本文为博主原创文章,欢迎大家转载,但是要注明我的文章地址。 https://blog.csdn.net/program_developer/article/details/82939524

题目链接:

https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b?tpId=13&tqId=11191&tPage=2&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

题目描述:

解题思路:

解法:递归的遍历一棵数的左右子树。

已经AC的代码:


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

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

	    }
	}
	
    public int TreeDepth(TreeNode root) {
    	if(root == null) {
    		return 0;
    	}
    	int nLeft = TreeDepth(root.left);
    	int nRight = TreeDepth(root.right);
        if(nLeft > nRight) {
        	return nLeft + 1;
        }else {
        	return nRight + 1;
        }
    }

	public static void main(String[] args) {
		// TODO Auto-generated method stub
//		               1
//		              / \
//		             2   3
//		            / \   \
//		           4   5   6
//		              /
//		              7
		treeDepth39 treeDepth = new treeDepth39();
		TreeNode root = treeDepth.new TreeNode(1);
		TreeNode root_2 = treeDepth.new TreeNode(2);
		TreeNode root_3 = treeDepth.new TreeNode(3);
		TreeNode root_4 = treeDepth.new TreeNode(4);
		TreeNode root_5 = treeDepth.new TreeNode(5);
		TreeNode root_6 = treeDepth.new TreeNode(6);
		TreeNode root_7 = treeDepth.new TreeNode(7);
		root.left = root_2;
		root.right = root_3;
		root_2.left = root_4;
		root_2.right = root_5;
		root_3.right = root_6;
		root_5.left = root_7;
		System.out.println(treeDepth.TreeDepth(root));		
	}

}

猜你喜欢

转载自blog.csdn.net/program_developer/article/details/82939524
今日推荐