给定一个二叉树,你需要编写一个函数来获取这课树的最大宽度,二叉树的最大宽度是指具有节点数最多的那一层的结点个数。-笔试面试资料

这是qklbishe.com第16967 篇笔试面试资料
提供答案分析,通过本文《给定一个二叉树,你需要编写一个函数来获取这课树的最大宽度,二叉树的最大宽度是指具有节点数最多的那一层的结点个数。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:
给定一个二叉树,你需要编写一个函数来获取这课树的最大宽度,二叉树的最大宽度是指具有节点数最多的那一层的结点个数。

给定一个二叉树,你需要编写一个函数来获取这课树的最大宽度,二叉树的最大宽度是指具有节点数最多的那一层的结点个数。 Spectre_
/**  * struct TreeNode {  *	int val;  *	struct TreeNode *left;  *	struct TreeNode *right;  *	TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}  * };  */ class Solution { public:     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      * 求这可树的最大宽度      * @param head TreeNode类 树的根节点      * @return int整型      */     int getMaxWidth(TreeNode* head) {         // write code here         // 时间复杂度O(N),空间复杂度O(logN)         int maxWidth = 0, size;         if (head == nullptr) return maxWidth;         queue<TreeNode*> que;         que.emplace(head);         while (!que.empty()) {             size = que.size();             maxWidth = maxWidth > size ? maxWidth : size;             while (size--) {                 if (que.front()->left) que.emplace(que.front()->left);                 if (que.front()->right) que.emplace(que.front()->right);                 que.pop();             }         }         return maxWidth;     } };

2021-10-06 19:32:51 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 给定一个二叉树,你需要编写一个函数来获取这课树的最大宽度,二叉树的最大宽度是指具有节点数最多的那一层的结点个数。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情