Leetcode P620

思路

​ 为每个节点设置id,根节点的id为0,每个节点的左节点的id为,当前节点的id *2,右节点的id为id *2+1.

​ 那么每层 的距离就为当前节点的id - 当层节点的最小id+1.

class Solution {public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val = val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val = val;this.left = left;this.right = right;}}List<Long> list = new ArrayList<>();int res = 0;public int widthOfBinaryTree(TreeNode root) {dfs(root,0,0);return res;}public void dfs(TreeNode root,int d,long id){if (root == null){return ;}if (list.size() == d){list.add(id);}res = Math.max((int) (id - list.get(d) + 1),res);dfs(root.left,d+1,id * 2);dfs(root.right,d+1,id*2+1);}
}

Leetcode P620 DFS解法,思路简单易懂相关推荐

  1. 计算机兔同笼的方法,“鸡兔同笼”问题,4种不同的、有趣的解法,简单易懂...

    相信不少人都听说过著名的"鸡兔同笼"问题,对无忧无虑的小学生来说,心理阴影不至于,但绝对是个巨大的挑战.问题是这样的:在一个笼子里,有鸡和兔子两种动物,两种动物脑袋共35个,脚一共 ...

  2. LeetCode—笔记—51、N皇后——递归回溯,个人思路,简单易懂

    LeetCode-笔记-51.N皇后--递归回溯,个人思路,简单易懂 51. N 皇后 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给你一个整数 ...

  3. LeetCode 200. Number of Islands--c++ dfs解法

    LeetCode 200. Number of Islands LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有题目总结 大部分题目C++,Pyt ...

  4. 详细讲解用Python列表for循环还有if判断语句写出1-100之内的素数,思路清晰语法准确代码简单易懂实用

    详细讲解用Python列表for循环还有if判断语句写出1-100之内的素数,思路清晰语法准确代码简单易懂实用,当然还有一定技巧的算法渗透其中.请看视频: Python 代码实例,找出1-100之内的 ...

  5. leetcode买卖股票问题(思路、方法、code)

    一文解决Leetcode买卖股票问题 对于前3个问题,均采用了比较巧妙的解法.由于第4个问题具有非常强的泛型,因此采用了DP,第4个问题的dp如果理解的话,实际上只需要稍加修改状态便可以用该dp思路应 ...

  6. Python求解一元二次方程问题【简单易懂,注释超全,代码可以直接运行】

    Python求解一元二次方程问题[简单易懂,注释超全,代码可以直接运行] 业务需求: 解一元二次方程是初中数学中的基本知识,- -般来讲解法有公式法.因式分解法等.可以根据自己 的理解,写- -段求解 ...

  7. 【转】区块链是什么,如何简单易懂地介绍区块链?

    作者:知乎用户 链接:https://www.zhihu.com/question/37290469 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 友情提醒:比特币 ...

  8. 尼科彻斯定理(简单易懂)

    今天来讲讲尼科彻斯定理,简单介绍一下. 尼科彻斯定理即:任何一个整数 m 的立方都可以写成 m 个连续奇数之和.例: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 ...

  9. leetcode之DFS+BFS+DSU刷题总结2

    leetcode之DFS+BFS+DSU刷题总结2 1-对称二叉树 题目链接:题目链接戳这里!!! 思路1:迭代法 一棵二叉树,左右子树分别进队,如果左右子树都为空,则结束遍历,如果左右子树仅一个为空 ...

最新文章

  1. c语言大顶堆数组维护,图解大顶堆的构建、排序过程
  2. 在HTML中使用CSS美化网页的三种方法
  3. java3d 上色_Unity 着色过程
  4. 到底什么样的ABAP系统能运行Fiori应用
  5. android sqlite alert table,android sqlite数据库操作
  6. php 项目中引用对方接口_关于PHP中为什么要写接口的问题说明
  7. 嵩天python笔记_Python学习笔记
  8. HBase安装与验证
  9. iOS8过渡到iOS9,Xcode6过渡到Xcode7
  10. Ajax入门教程(内附源码实例)
  11. XML解析方式对比(含XPP3解析)
  12. office WPS同时安装,WPS卸载后,文档图标异常解决办法
  13. 人生七年,耗时56年跟拍14个孩子,结局道尽人生残酷真相
  14. 医学自然语言处理(NLP)相关论文汇总之 NAACL 2021
  15. java课设设计的目的是什么_网页设计实习目的及意义
  16. SUBTOTAL函数的应用
  17. Codeforces Round #742 (Div. 2) C. Carrying Conundrum(思维)
  18. IT方面学习交流群推荐
  19. 猿创征文|一文带你了解国产TiDB数据库
  20. NLP-Bert核心知识点权威总结

热门文章

  1. STM32F103学习笔记(5)—— 大彩屏使用——串口通信工程级应用
  2. java netty 教程_Java NIO框架Netty教程(十六)
  3. 爆火的ChatGPT太强了!写代码、改bug,网友:可取代Stack Overflow了
  4. python变量与内存
  5. window mysql下载与安装
  6. 使用appium工具对漫画发表评论
  7. Day7 - Python基础7 面向对象编程进阶 --转自金角大王
  8. 热透镜引起焦点偏移的研究
  9. Nessus的使用教程
  10. python网页内容提取神器lxml