LeetCode——623.在二叉树中增加一行
通过万岁!!!
- 题目:给你一个二叉树,然后在他的第depth层上面插入一层。插入的值是val,并且之前的左子树,还是这个插入节点的左子树,之前的右子树还是这个插入节点的右子树。
- 思路:层序遍历,如果到了需要插入的一层(depth的上面一层),然后就new节点,把左子树挂在new的节点的左边,右子树挂在new的节点的右边。这里需要注意,其实我们new的节点。注意,这里其实new了两个节点。
- 技巧:层序遍历
java代码
class Solution {public TreeNode addOneRow(TreeNode root, int val, int depth) {if (depth == 1) {TreeNode treeNode = new TreeNode(val, root, null);return treeNode;}Queue<TreeNode> queue = new LinkedList<>();queue.add(root);int size, floor = 1;while (!queue.isEmpty()) {size = queue.size();if (depth - 1 == floor) {for (int i = 0; i < size; i++) {TreeNode remove = queue.remove();remove.left = new TreeNode(val, remove.left, null);remove.right = new TreeNode(val, null, remove.right);}return root;}for (int i = 0; i < size; i++) {TreeNode remove = queue.remove();if (remove.left != null) {queue.add(remove.left);}if (remove.right != null) {queue.add(remove.right);}}floor++;}return root;}
}
- 总结:也算是比较简单的题目,因为层序遍历本身不难,而且套路也比较统一。
LeetCode——623.在二叉树中增加一行相关推荐
- Java实现 LeetCode 623 在二叉树中增加一行(遍历树)
623. 在二叉树中增加一行 给定一个二叉树,根节点为第1层,深度为 1.在其第 d 层追加一行值为 v 的节点. 添加规则:给定一个深度值 d (正整数),针对深度为 d-1 层的每一非空节点 N, ...
- 图解LeetCode——623. 在二叉树中增加一行(难度:中等)
一.题目 给定一个二叉树的根 root 和两个整数 val 和 depth ,在给定的深度 depth 处添加一个值为 val 的节点行. 注意,根节点 root 位于深度 1 . 加法规则如下: 给 ...
- LeetCode 623. 在二叉树中增加一行(BFS/DFS)
文章目录 1. 题目 2. 解题 2.1 BFS 2.2 DFS 1. 题目 给定一个二叉树,根节点为第1层,深度为 1.在其第 d 层追加一行值为 v 的节点. 添加规则:给定一个深度值 d (正整 ...
- 623. 在二叉树中增加一行
给定一个二叉树,根节点为第1层,深度为 1.在其第 d 层追加一行值为 v 的节点. 添加规则:给定一个深度值 d (正整数),针对深度为 d-1 层的每一非空节点 N,为 N 创建两个值为 v 的左 ...
- 20200210:(leetcode 623)在二叉树中增加一行
在二叉树中增加一行 题目 算法与思路 代码实现 复杂度分析 题目 算法与思路 本题的思路在题目中已经为我们全部说明了,下面再列一遍就可以了 给定一个深度值 d (正整数),针对深度为 d-1 层的每一 ...
- LeetCode刷题实战623:在二叉树中增加一行
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- 青铜三人行之在二叉树中增加一行
先说一个消息,为了方便互相交流学习,青铜三人行建了个微信群,感兴趣的伙伴可以扫码加下面的小助手抱你入群哦! 每周一题,代码无敌~这周「青铜三人行」带了一个二叉树的问题: 在二叉树中增加一行 青铜三人行 ...
- LeetCode实战:二叉树中的最大路径和
背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Given a non ...
- leetcode算法题--二叉树中的最长交错路径★
原题链接:https://leetcode-cn.com/problems/longest-zigzag-path-in-a-binary-tree/ 嵌套递归(超时) 相关题目:二叉树中的列表 in ...
最新文章
- 卧槽!新基建背景下,这些姿势架构师必须懂!
- Sql server 2005系统表详细说明
- 用Go语言建立一个简单的区块链part2:Pow共识
- 机器学习:AdaBoost算法及其实现
- jquery获取手机验证码按钮计时插件getVerifyCode.js
- Redis高级项目实战,java配置jdk环境时
- java 线程同步的list_java线程生产者与消费者实例(使用List实现同步)
- Springboot: Failed to get nested archive for entry BOOT-INF/lib/ Zip64 archives are not supported
- 你知道怎么离线安装全局 node 模块吗?
- .NET / C# basic
- spring mvc controller间跳转 重定向 传参 (转)
- 为软件生成授权的唯一代码 CPUID+主板ID+内存ID
- Python 实例教程100例
- 开源免费语音识别引擎 RapidASR
- 用vue将数字转为中文大写金额
- Android编译预制过高版本app导致编译错误解决
- 守望先锋四服务器修改,服务器刷新率提高 《守望先锋》终于不用死在墙角了...
- 数学分析高等代数考研试题不断更新
- Unbuntu更换阿里源
- 什么专业学计算机编程,计算机编程是什么专业 难学吗