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

萧县哪有做网站的wordpress 文章签名

萧县哪有做网站的,wordpress 文章签名,怎样建设单位网站,程序员怎么做自己的网站前言 二叉树篇#xff0c;继续。 记录 五十二【617.合并二叉树】 一、题目阅读 给你两棵二叉树#xff1a; root1 和 root2 。 想象一下#xff0c;当你将其中一棵覆盖到另一棵之上时#xff0c;两棵树上的一些节点将会重叠#xff08;而另一些不会#xff09;。你需要…前言 二叉树篇继续。 记录 五十二【617.合并二叉树】 一、题目阅读 给你两棵二叉树 root1 和 root2 。 想象一下当你将其中一棵覆盖到另一棵之上时两棵树上的一些节点将会重叠而另一些不会。你需要将这两棵树合并成一棵新二叉树。合并的规则是如果两个节点重叠那么将这两个节点的值相加作为合并后节点的新值否则不为 null 的节点将直接作为新二叉树的节点。 返回合并后的二叉树。 注意: 合并过程必须从两个树的根节点开始。 示例 1 输入root1 [1,3,2,5], root2 [2,1,3,null,4,null,7] 输出[3,4,5,5,4,null,7]示例 2 输入root1 [1], root2 [1,2] 输出[2,2]提示 两棵树中的节点数目在范围 [0, 2000] 内 -10^4 Node.val 10^4二、尝试实现 思路 本题需要同时操作两个树那么学过记录 四十二【101. 对称二叉树】 的方法是同时操作两个树。所以同样的思路解决这道题。通过递归实现开始分步完成递归函数。确定递归的参数因为同时操作两个树所以两个参数TreeNode* root1和TreeNode* root2。确定递归返回值返回合并之后的子树。所以返回值类型TreeNode* 。确定终止条件 root1和root2都是空返回空节点root1或root2只有一个为空返回不为空的节点root1和root2都不是空进入递归处理逻辑。 递归逻辑本题也相当于构造一个新的二叉树——记录 五十一【654.最大二叉树】中学习到使用前序遍历。 先创建中间节点。值为root1-valroot2-val。递归左子树递归右子树。 代码实现 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {//终止条件if(!root1 !root2) return nullptr;if(!root1 root2) return root2;if(root1 !root2) return root1;//两个同时存在时处理顺序前序中左右TreeNode* root new TreeNode(root1-valroot2-val);root-left mergeTrees(root1-left,root2-left);root-right mergeTrees(root1-right,root2-right);return root;} };三、参考学习 参考学习链接 学习内容 递归法思路和二、中的思路一致但是代码处理上的区别如下 终止条件 参考给的终止条件同时为空的逻辑在这两行中可以涵盖。if (t1 NULL) return t2; // 如果t1为空合并之后就应该是t2 if (t2 NULL) return t1; // 如果t2为空合并之后就应该是t1二、中代码实现的终止条件分成3类。 新定义树或重复利用某一个树 参考在合并时重复利用root1这个树在这个树上合并操作。没有新定义在二、中代码实现中新定义树节点自然可以重复利用root2这个树root2-val root1-val; 遍历顺序根据学习经验方便理解可以确定前序遍历好理解。但是重复利用某个树的时候前中后遍历顺序都可以。 迭代法同样需要同时处理两个树。那么处理的两个对象需要同时放到容器中类似记录 四十二【101. 对称二叉树】中迭代实现。 迭代代码实现 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {queueTreeNode* q;if(!root1) return root2;if(!root2) return root1;q.push(root1);q.push(root2);while(!q.empty()){TreeNode* node1 q.front();q.pop();TreeNode* node2 q.front();q.pop();//复用root1node1-val node2-val;if(node1-left node2-left){q.push(node1-left);q.push(node2-left);}if(node1-right node2-right){q.push(node1-right);q.push(node2-right);}//复用树1所以用树1的左右判断是否为空。if(!node1-left){node1-left node2-left;}if(!node1-right){node1-right node2-right;}}return root1;} };总结 【617.合并二叉树】用到的知识点学习过能够想到并应用即可。 学习记录 同时操作两个树记录 四十二【101. 对称二叉树、100.相同的树、572.另一个树的子树】构造二叉树记录 五十一【654.最大二叉树】 欢迎指正转载标明出处
http://www.hkea.cn/news/14338608/

相关文章:

  • 企业网站建设问题电子商务网站的建设与规划论文
  • 网站建设业务流程餐饮logo设计
  • 最好的网站制作公司华为的网站建设
  • wordpress 去掉 自豪廊坊关键词优化
  • 做公司网站公司多少钱域名备案怎么关闭网站
  • 中山网站制作系统导航网站优化
  • 网络公司怎样推广网站百合网
  • 手机网站的后台管理系统门窗品牌10大品牌排行
  • 做网站永久腾讯企业邮箱
  • 营销网站大全360如何做网站
  • 免费开发软件的网站建设杂志社网站建设方案书
  • 东莞seo建站推广费用龙华做网站哪家好
  • 网站推广有用吗?做网站推广怎么跟客户沟通
  • 企业怎样建立自己的网站中国建设银行河北省分行官方网站
  • 建小程序需要网站吗建设招标项目常挂网站有哪些
  • 山东一建建设有限公司网站首页食堂网站建设
  • 建设银行网站怎么查自己账号吗建设部施工安全管理网站
  • 传媒网站如何设计百度一下搜索
  • 做国外进口衣服的网站网站域名申请怎么做
  • 有哪些网站用vue做的读书分享会ppt模板免费下载
  • 网站如何挂马教程网站建设新闻动态
  • 网站浏览器兼容wordpress文章增加新字段
  • 如何解决网站兼容微信api文档
  • 有哪些做封面的网站怎样在百度上发帖子
  • 网站外链分析章丘公司做网站
  • 北京怎么样做网站广州公司注册场地要求
  • 1网站建设的目标是什么意思远程it外包服务
  • 网站建设公司的专业度该怎么去看网站描述技巧
  • 博物馆网站微信公众号建设如何百度注册公司官网
  • 网站加入wordpress网上怎么推广产品