@Data
public class BinaryTreeDeep {
public static int getDeep(Node node) {
if (node == null) {
return 0;
} else {
Node lefNode = node.getLeftNode();
Node rightNode = node.getRightNod();
int x = getDeep(lefNode);
int y = getDeep(rightNode);
return Math.max(x, y) + 1;
}
}
public static void main(String[] args) {
Node root = new Node("root");
Node left1 = new Node("left1");
Node right1 = new Node("right1");
root.addNode(left1, right1);
Node left2 = new Node("left2");
left1.addNode(left2, null);
System.out.println(getDeep(root));
}
}
@Data
class Node {
String value;
private Node leftNode;
private Node rightNod;
public Node(String value) {
this.value = value;
}
public void addNode(Node leftNode, Node rightNod) {
this.leftNode = leftNode;
this.rightNod = rightNod;
}
}
二叉树最大深度
最新推荐文章于 2022-07-30 10:10:09 发布