Leetcode P620 DFS解法,思路简单易懂
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解法,思路简单易懂相关推荐
- 计算机兔同笼的方法,“鸡兔同笼”问题,4种不同的、有趣的解法,简单易懂...
相信不少人都听说过著名的"鸡兔同笼"问题,对无忧无虑的小学生来说,心理阴影不至于,但绝对是个巨大的挑战.问题是这样的:在一个笼子里,有鸡和兔子两种动物,两种动物脑袋共35个,脚一共 ...
- LeetCode—笔记—51、N皇后——递归回溯,个人思路,简单易懂
LeetCode-笔记-51.N皇后--递归回溯,个人思路,简单易懂 51. N 皇后 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给你一个整数 ...
- LeetCode 200. Number of Islands--c++ dfs解法
LeetCode 200. Number of Islands LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有题目总结 大部分题目C++,Pyt ...
- 详细讲解用Python列表for循环还有if判断语句写出1-100之内的素数,思路清晰语法准确代码简单易懂实用
详细讲解用Python列表for循环还有if判断语句写出1-100之内的素数,思路清晰语法准确代码简单易懂实用,当然还有一定技巧的算法渗透其中.请看视频: Python 代码实例,找出1-100之内的 ...
- leetcode买卖股票问题(思路、方法、code)
一文解决Leetcode买卖股票问题 对于前3个问题,均采用了比较巧妙的解法.由于第4个问题具有非常强的泛型,因此采用了DP,第4个问题的dp如果理解的话,实际上只需要稍加修改状态便可以用该dp思路应 ...
- Python求解一元二次方程问题【简单易懂,注释超全,代码可以直接运行】
Python求解一元二次方程问题[简单易懂,注释超全,代码可以直接运行] 业务需求: 解一元二次方程是初中数学中的基本知识,- -般来讲解法有公式法.因式分解法等.可以根据自己 的理解,写- -段求解 ...
- 【转】区块链是什么,如何简单易懂地介绍区块链?
作者:知乎用户 链接:https://www.zhihu.com/question/37290469 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 友情提醒:比特币 ...
- 尼科彻斯定理(简单易懂)
今天来讲讲尼科彻斯定理,简单介绍一下. 尼科彻斯定理即:任何一个整数 m 的立方都可以写成 m 个连续奇数之和.例: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 ...
- leetcode之DFS+BFS+DSU刷题总结2
leetcode之DFS+BFS+DSU刷题总结2 1-对称二叉树 题目链接:题目链接戳这里!!! 思路1:迭代法 一棵二叉树,左右子树分别进队,如果左右子树都为空,则结束遍历,如果左右子树仅一个为空 ...
最新文章
- c语言大顶堆数组维护,图解大顶堆的构建、排序过程
- 在HTML中使用CSS美化网页的三种方法
- java3d 上色_Unity 着色过程
- 到底什么样的ABAP系统能运行Fiori应用
- android sqlite alert table,android sqlite数据库操作
- php 项目中引用对方接口_关于PHP中为什么要写接口的问题说明
- 嵩天python笔记_Python学习笔记
- HBase安装与验证
- iOS8过渡到iOS9,Xcode6过渡到Xcode7
- Ajax入门教程(内附源码实例)
- XML解析方式对比(含XPP3解析)
- office WPS同时安装,WPS卸载后,文档图标异常解决办法
- 人生七年,耗时56年跟拍14个孩子,结局道尽人生残酷真相
- 医学自然语言处理(NLP)相关论文汇总之 NAACL 2021
- java课设设计的目的是什么_网页设计实习目的及意义
- SUBTOTAL函数的应用
- Codeforces Round #742 (Div. 2) C. Carrying Conundrum(思维)
- IT方面学习交流群推荐
- 猿创征文|一文带你了解国产TiDB数据库
- NLP-Bert核心知识点权威总结