java求二叉树深度_Java求二叉树深度算法

java 求二叉树深度

--------------------------------------------------------------------------------------------------------------------------------------

算法很简单,就是比较左子节点深度 右节点深度

还有一个核心内容就是如果有值就+1,+1这个是整个算法的核心。

package javatest.suanfa.Erchashu;

public class dept {

int height(TreeNode T)

{

if (T==null) {

return 0;

}

int l=height(T.getLeftChild());

int r=height(T.getRightChild());

System.out.println("l==="+l+"---r=="+r+"------T==="+T.val);

if (l>r) {

return (l+1);

}

return (r+1);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

TreeNode node = new TreeNode(1);

TreeNode node21 = new TreeNode(21);

TreeNode node22 = new TreeNode(22);

TreeNode node31 = new TreeNode(31);

TreeNode node32 = new TreeNode(32);

TreeNode node33 = new TreeNode(33);

TreeNode node43 = new TreeNode(43);

node.setLeftChild(node21);

node.setRightChild(node22);

node21.setLeftChild(node31);

node21.setRightChild(node32);

node22.setRightChild(node33);

node33.setRightChild(node43);

dept dp = new dept();

System.out.println(dp.height(node));

}

}

--------------------------------------------------------------------------------------------------------------------------------------

小奋斗文章

--------------------------------------------------------------------------------------------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值