当前位置: 首页 > news >正文

直销模式最好的公司排名轻松seo 网站推广

直销模式最好的公司,排名轻松seo 网站推广,找专题页面那个网站好,wordpress中文插件623. 在二叉树中增加一行中等给定一个二叉树的根 root 和两个整数 val 和 depth ,在给定的深度 depth 处添加一个值为 val 的节点行。注意,根节点 root 位于深度 1 。加法规则如下:给定整数 depth,对于深度为 depth - 1 的每个非空树节点 cur…

623. 在二叉树中增加一行

中等

给定一个二叉树的根 root 和两个整数 valdepth ,在给定的深度 depth 处添加一个值为 val 的节点行。

注意,根节点 root 位于深度 1

加法规则如下:

  • 给定整数 depth,对于深度为 depth - 1 的每个非空树节点 cur ,创建两个值为 val 的树节点作为 cur 的左子树根和右子树根。

  • cur 原来的左子树应该是新的左子树根的左子树。

  • cur 原来的右子树应该是新的右子树根的右子树。

  • 如果 depth == 1 意味着 depth - 1 根本没有深度,那么创建一个树节点,值 val 作为整个原始树的新根,而原始树就是新根的左子树。

示例 1:

输入: root = [4,2,6,3,1,5], val = 1, depth = 2

输出: [4,1,1,2,null,null,6,3,1,5]

示例 2:

输入: root = [4,2,null,3,1], val = 1, depth = 3

输出: [4,2,null,1,1,3,null,null,1]

题解(层序遍历+队列 求解)

  1. 因为在深度为2是添加一行就是在第二行与第一行之间添加一行节点,所以初始化一个变量为 1,记录要添加一行位置与终止循环条件

  1. 当添加的一行的左右节点为空时,且深度正好为要添加一行深度,则让该节点的左右节点都为要添加的节点

  1. 当要添加的节点左或右不为空,借助中间节点拼接树

  1. 当深度为1时让要添加的节点左子树为根节点即可。

/*** Definition for a binary tree node.* 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;*     }* }*/
class Solution {public TreeNode addOneRow(TreeNode root, int val, int depth) {Queue<TreeNode> queue = new LinkedList<>();if(depth == 1){TreeNode temp = new TreeNode(val);temp.left = root;System.out.println(temp.val+" "+temp.left.val);return temp;}// TreeNode temp = new TreeNode(val);TreeNode dummy = root;queue.add(dummy);int count = 1;while (queue.size() > 0){int n = queue.size();for (int i = 0; i < n; i++) {TreeNode remove = queue.remove();if(remove.left != null){// 左子树不为空if(count == depth - 1){// 满足要添加节点深度TreeNode temp = new TreeNode(val);TreeNode t = remove.left;// 中间节点拼接remove.left = temp;temp.left = t;}else {// 不满足节点深度继续添加下一层节点queue.add(remove.left);}}else if(count == depth - 1){// 左子树为空且满足添加节点深度,直接让添加节点为该节点左子树TreeNode temp = new TreeNode(val);remove.left = temp;}if(remove.right != null){// 右子树不为空if(count == depth - 1){// 满足要添加节点深度TreeNode temp = new TreeNode(val);TreeNode t = remove.right;// 中间节点拼接remove.right = temp;temp.right = t;}else {// 不满足节点深度继续添加下一层节点queue.add(remove.right);}}else if(count == depth - 1){// 左子树为空且满足添加节点深度,直接让添加节点为该节点左子树TreeNode temp = new TreeNode(val);remove.right = temp;}}// if(count == depth){//     break;//}count++;}return dummy;}
}
http://www.hkea.cn/news/153135/

相关文章:

  • 开网页卡优化关键词排名工具
  • wordpress右侧文章归档东莞公司seo优化
  • 个人网站建设需求说明书免费外链生成器
  • 湖南网站建设的公司排名网页制作网站制作
  • 公司网页网站建设 ppt模板app开发公司排行榜
  • 网站开发yuanmus联合早报 即时消息
  • 为什么只有中国人怕疫情seo 页面
  • 网站开发总结报告十大门户网站
  • 临淄信息港发布信息临沂seo建站
  • 门户网站系统介绍企业推广哪个平台好
  • 免费网站建站排行榜网站策划报告
  • 网站设计的评估最近发生的热点新闻
  • 设建网站广告投放渠道
  • 日ip5000的网站怎么做如何提高网站在搜索引擎中的排名
  • 网站描文本链接怎么做深圳互联网营销
  • 一个服务器做两个网站自己做网站
  • 百草味网站建设的活动方案营销型企业网站有哪些
  • 论文课程网站 建设背景项目推广方式有哪些
  • 内部网站建设关键词优化推广策略
  • 一个公司可以做几个网站备案贵阳网络推广排名
  • 武汉高端网站建设免费广告网
  • 大理建网站常用于网站推广的营销手段是
  • js怎么做网站跨境电商网站
  • 台州外贸网站建设百度推广费用多少
  • 虚拟机怎么做网站空间培训班管理系统 免费
  • wordpress离线文章发布郑州seo关键词排名优化
  • 龙岗区网站建设中国职业培训在线
  • 南山网站建设外包优化网站
  • 个人怎么做网站推广神起网络游戏推广平台
  • 做网站的关键技术运营推广的方式和渠道有哪些