N叉树的最大深度

提示:两鬓可怜青 只为相思老


题目

给定一个 N 叉树,找到其最大深度。
最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。请添加图片描述
输入 1 -1 3 2 4 -1 5 6
输出 3

思路1

本题首先想到的因该是层序遍历 不过一点不一样就是这里是N叉树 不一样之处在于添加结点的时候需要加一个遍历

int LevelTravel(BiTree* &T){
	if(T==NULL) return 0;
	queue<BiTree*> Q;hight=0;
	Q.push(T);
	while(!Q.empty()){
		int size=Q.size();
		for(int i=0;i<size;i++){
			BiTree* cur=Q.front();
			Q.pop();
			for(int i=0;i<3;i++){
				if(T.A[i]!=NULL){
					Q.push_back(T.A[i]);
				}
			}
		}
		hight++;
	}
	return hight;
}

思路2

这里也是可以使用递归来写 但是同样的这里深入同样需要多加一个for循环 而且这里更像是一个后序遍历

int RePastTravel(BiTree* T){
	if(T==NULL) return 0;
	int hight=0;
	for(int i=0;i<3;i++){
		hight=max(hight,RePastTravel(T->A[i]));//从各个孩子中寻找最高的 
	}
	return ++hight; 
}

总结

本题就不写成可执行的了
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值