色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

JAVA滿二叉樹和最大層

方一強1年前7瀏覽0評論

滿二叉樹是指在二叉樹中,除最后一層外,每一層上的所有節(jié)點都有兩個子節(jié)點。最后一層上的節(jié)點可以有一個或兩個子節(jié)點。Java中可以使用類來實現(xiàn)滿二叉樹的數(shù)據(jù)結(jié)構(gòu)。

public class FullBinaryTree {
Node root;
class Node {
int data;
Node left, right;
public Node(int data) {
this.data = data;
left = null;
right = null;
}
}
public FullBinaryTree() {
root = null;
}
}

在滿二叉樹中,每一層都有2^(level-1)個節(jié)點,其中l(wèi)evel表示層數(shù)(從1開始)。最大層數(shù)即是最后一層有節(jié)點的層數(shù),可以通過遞歸遍歷樹來找到最大層數(shù)。

public int getMaxLevel(Node node) {
if (node == null)
return 0;
int leftMax = getMaxLevel(node.left);
int rightMax = getMaxLevel(node.right);
return Math.max(leftMax, rightMax) + 1;
}

以上代碼使用遞歸來遍歷二叉樹,分別找到左子樹和右子樹的最大層數(shù),然后比較兩者的大小,并加1返回。最大層可以在創(chuàng)建滿二叉樹的時候就保存下來。

上一篇go rpc php
下一篇go php比較