当前位置:网站首页>623. 在二叉树中增加一行
623. 在二叉树中增加一行
2022-08-06 04:52:00 【happykoi】
623. 在二叉树中增加一行
日期:2022/8/5
题目描述:给定一个二叉树的根 root 和两个整数 val 和 depth ,在给定的深度 depth 处添加一个值为 val 的节点行。
注意,根节点 root 位于深度 1 。
加法规则如下:
给定整数 depth,对于深度为 depth - 1 的每个非空树节点 cur ,创建两个值为 val 的树节点作为 cur 的左子树根和右子树根。
cur 原来的左子树应该是新的左子树根的左子树。
cur 原来的右子树应该是新的右子树根的右子树。
如果 depth == 1 意味着 depth - 1 根本没有深度,那么创建一个树节点,值 val 作为整个原始树的新根,而原始树就是新根的左子树。
示例:
输入: root = [4,2,6,3,1,5], val = 1, depth = 2
输出: [4,1,1,2,null,null,6,3,1,5]
输入: root = [4,2,null,3,1], val = 1, depth = 3
输出: [4,2,null,1,1,3,null,null,1]
思路:
dfs,没遍历到对应深度就继续遍,遍历到了就接上
代码+解析:
class Solution {
public:
TreeNode* addOneRow(TreeNode* root, int val, int depth) {
if(depth == 1){
TreeNode* node = new TreeNode(val,root,nullptr);
return node;
}
dfs(root,depth,1,val);
return root;
}
void dfs(TreeNode* root,int depth,int floor,int val){
if(root == nullptr) return;
if(floor+1 == depth){
TreeNode* leftNode = new TreeNode(val,root->left,nullptr);
TreeNode* rightNode = new TreeNode(val,nullptr,root->right);
root->left = leftNode;
root->right = rightNode;
return;
}
//else if(floor < depth-1)
dfs(root->left,depth,floor+1,val);
dfs(root->right,depth,floor+1,val);
}
};
边栏推荐
猜你喜欢

双机热备技术(讲解+实验)——静态路由实现

温度敏感/PH敏感/电场敏感/温度/pH双重敏感/磁场敏感型水凝胶的制备

2023 6th International Conference on Advanced Control, Automation and Robotics (ICACAR 2023)

Datax及Datax-web 下载使用

重发布中的路由策略:

2022 Practical Content Course on Building Modern Web Applications with Go

bahir-flink

MQ基本概念详解

【Image classification】2021-CvT

想完全掌握Swagger,这一篇就够了!
随机推荐
2023年第六届数据挖掘与知识发现国际会议(DMKD 2023)
golang 处理变量模板
ESP 特权隔离机制—案例研究
MySQL - MySQL 三范式理解
extends继承
MySQL——进阶操作
【二叉树】统计值等于子树平均值的节点数
idea 常用快捷键
Getui data intelligence technology practice | Teach you to create data quality ECG, intelligently detect abnormal data "heartbeat"
Clion设置toolchains报错
牛客题目——买卖股票的最好时机(一)、(二)、(三)、设计LRU缓存结构
Django用orm修改mysql数据库运行出现错误
嵌入式分享合集29
Zabbix 5.0 监控教程(三)
Routing policy in redistribution:
【语义分割】2019-DANet CVPR
P1058 [NOIP2008 普及组] 立体图
MySQL - Advanced Operations
解决错误:DispatcherServlet爆红!!
Romantic Tanabata - lucky to have you all the way