采用递归思想:
package com.zxm;
/**
* Creator:zhangxiaomeng
* Date:2017/10/22
* Description:求树的高度
*/
public class Tree {
public static void main(String[] args) {
Node root=new Node();
Node node1=new Node();
Node node2=new Node();
Node node3=new Node();
Node node4=new Node();
Node node5=new Node();
Node node6=new Node();
root.left=node1;
root.right=node2;
node1.left=node3;
node1.right=node4;
node3.left=node5;
node3.right=node6;
System.out.print(findDeep(root));
}
public static int findDeep(Node root){
if(root==null) {
return 0;
}else{
int lchildDeep=findDeep(root.left);
int rchildDeep=findDeep(root.right);
return lchildDeep>=rchildDeep?lchildDeep+1:rchildDeep+1;
}
}
}
class Node{
Node left;
Node right;
}
对应的二叉树: