博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
617. Merge Two Binary Trees(Tree)
阅读量:4181 次
发布时间:2019-05-26

本文共 699 字,大约阅读时间需要 2 分钟。

题目:合并2棵二叉树

思路:采用后序遍历的方法,分为3种情况:

1 如果t1非空并且t2非空,则t1加上t2的值,返回t1,否则直接返回t12 t1为空且t2非空,返回t23 t1和t2都为空,返回NULL

代码:

class Solution {public:    TreeNode *dfs(TreeNode* t1,TreeNode* t2){              if(!t1&&!t2) return NULL;              TreeNode *left  = dfs((t1?t1->left:NULL),(t2?t2->left:NULL));              TreeNode *right = dfs((t1?t1->right:NULL),(t2?t2->right:NULL));              if(t1){                 t1->val+=(t2?t2->val:0);                 t1->left = left;                 t1->right = right;              }             else                 return t2;             return t1;    }    TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {              t1 = dfs(t1,t2);              return t1;    }};

转载地址:http://sirai.baihongyu.com/

你可能感兴趣的文章
简述JAVA运算符
查看>>
简易ATM源代码及运行结果
查看>>
简述Java中的简单循环
查看>>
用JAVA实现各种乘法表
查看>>
for双重循环实现图形
查看>>
Java类和对象基础
查看>>
简述Java继承和多态
查看>>
Java中Arrays工具类的用法
查看>>
简述JAVA抽象类和接口
查看>>
JAVA常用基础类
查看>>
简述Java异常处理
查看>>
简述Java集合框架
查看>>
jQuery+ajax实现省市区(县)下拉框三级联动
查看>>
Spring中的AOP 面向切面编程
查看>>
简述Spring中的JDBC框架
查看>>
MyBatis 动态SQL
查看>>
Spring MVC体系结构和处理请求控制器
查看>>
浏览器内核的整理稿
查看>>
暴力搜索内存空间获得API的线性地址
查看>>
CTF编码
查看>>