求二叉树的深度和宽度-创新互联
深度:

int length(BiTree t)
{
int depth2 = 0;
int depth3 = 0;
if(t == null ) return 0;
//右子树的深度
depth2 = length(t.right);
//左子树的深度
depth3 = length(t.left);
if(depth2>depth3)
return depth2+1;
else
return depth3+1;
}宽度:
int getMaxWidth(TreeNode root)
{
if (root == null)
return 0;
Queue queue = new ArrayDeque();
int maxWitdth = 1; // 大宽度
queue.add(root); // 入队
while (true)
{
int len = queue.size(); // 当前层的节点个数
if (len == 0)
break;
while (len > 0)
{
// 如果当前层,还有节点
TreeNode t = queue.pop();
len--;
if (t.left != null)
queue.push(t.left); // 下一层节点入队
if (t.right != null)
queue.add(t.right);// 下一层节点入队
}
maxWitdth = Math.max(maxWitdth, queue.size());
}
return maxWitdth;
} 另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享题目:求二叉树的深度和宽度-创新互联
网站URL:http://www.jxjierui.cn/article/csgcej.html


咨询
建站咨询
