原题链接

标签 :二叉树 BFS

解题思路:BFS广度优先 + 队列

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:int widthOfBinaryTree(TreeNode* root) {if (!root) return 0;queue<pair<TreeNode*, unsigned long long>> q;int ans = 1;q.push({root, 1});while (!q.empty()) {int sz = q.size();ans = max(int(q.back().second - q.front().second + 1), ans);for (int i=0; i < sz; i++) {TreeNode *node = q.front().first;unsigned long long pos = q.front().second;q.pop();if (node->left) q.push({node->left, 2 * pos});if (node->right) q.push({node->right, 2 * pos + 1});}}return ans;}
};

LeetCode 662 二叉树最大宽度相关推荐

  1. LeetCode 662. 二叉树最大宽度(递归)

    1. 题目 给定一个二叉树,编写一个函数来获取这个树的最大宽度.树的宽度是所有层中的最大宽度.这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空. 每一层的宽度被定义为两 ...

  2. 41. Leetcode 662. 二叉树最大宽度 (二叉树-二叉树性质)

    给定一个二叉树,编写一个函数来获取这个树的最大宽度.树的宽度是所有层中的最大宽度.这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空.每一层的宽度被定义为两个端点(该层最 ...

  3. 662. 二叉树最大宽度 golang

    662. 二叉树最大宽度 给定一个二叉树,编写一个函数来获取这个树的最大宽度.树的宽度是所有层中的最大宽度.这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空. 每一层的 ...

  4. 662. 二叉树最大宽度

    662. 二叉树最大宽度 给定一个二叉树,编写一个函数来获取这个树的最大宽度.树的宽度是所有层中的最大宽度.这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空. 每一层的 ...

  5. leetcode 662. Maximum Width of Binary Tree | 662. 二叉树最大宽度(BFS)

    题目 https://leetcode.com/problems/maximum-width-of-binary-tree/ 题解 本题思路来源于二叉树的层序遍历. 层序遍历类似问题:leetcode ...

  6. leetcode 662.二叉树最大深度 Java

    二叉树最大深度 题目链接 描述 示例 初始代码模板 模板 题目链接 https://leetcode-cn.com/problems/maximum-width-of-binary-tree/ 描述 ...

  7. 【leetcode】二叉树与经典问题

    文章目录 笔记 leetcode [114. 二叉树展开为链表](https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list ...

  8. LeetCode:二叉树相关应用

    LeetCode:二叉树相关应用 基础知识 617.归并两个二叉树 题目 Given two binary trees and imagine that when you put one of the ...

  9. leetcode题解(二叉树和递归问题)

    这篇博客我们主要来看二叉树和二叉树问题中使用递归来解决问题的思路.这类问题有时思路很简单,这是因为二叉树具有天然的递归结构,所以我们使用递归的解法解决二叉树有关的问题就变得非常明显. 二叉树天然的递归 ...

最新文章

  1. jquery mobile 页面间的传递参数
  2. Get busy living or get busy dying
  3. Ueditor1.4.3上传视频IE下无法播放的问题
  4. python观察日志(part10)--__future__ 模块
  5. 【渝粤教育】广东开放大学 国际私法 形成性考核 (41)
  6. 使用Pandas 1.1.0进行稳健的2个DataFrames验证
  7. iOS9适配(包括APNs)的改变
  8. 开源社区Review代码步骤
  9. Dubbo(八)使用配置类方式实现服务提供者消费者dubbo配置
  10. halcon 旋转_HALCON高级篇:3D相机标定
  11. [Teamcenter 2007 开发实战] 调用web service
  12. .NET Core 中 IOptions 有什么用
  13. java图书馆借书问题_图书馆借书系统-Java异常的学习和处理
  14. EMC VMAX存储的内存布局
  15. 二元函数可导与可微的关系_如何理解多元函数可微与可偏导的关系?
  16. 解决layui的富文本编辑器中图片的大小问题
  17. html中的那些炫酷吊炸天的操作
  18. 响应式网站-- css媒体查询 字体大小
  19. 日本处方药【治疗肠癌】
  20. 一文带你了解人工智能机器人实验室解决方案最新消息!

热门文章

  1. junit规则_JUnit规则
  2. Stomp-Spring服务器端的Web套接字Java客户端
  3. Java将列表转换为数组,反之亦然
  4. IDE日志分析方法pt。 2
  5. 如何通过Rultor将Maven工件部署到CloudRepo
  6. jpa和hibernate_使用JPA和Hibernate有效删除数据
  7. Spring MVC中@RequestParam和@PathVariable批注之间的区别?
  8. 线程同步,线程不同步_同步多线程集成测试
  9. 谷歌guava_Google Guava MultiMaps
  10. Spring查找方法示例