合并两棵二叉树(7 lines)
来源:互联网 发布:腾讯已备案2级域名分发 编辑:程序博客网 时间:2024/06/03 23:48
合并两棵二叉树
Merge Two Binary Trees
Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not.
You need to merge them into a new binary tree. The merge rule is that if two nodes overlap, then sum node values up as the new value of the merged node. Otherwise, the NOT null node will be used as the node of new tree.
Example 1:
Input: Tree 1 Tree 2 1 2 / \ / \ 3 2 1 3 / \ \ 5 4 7 Output: Merged tree: 3 / \ 4 5 / \ \ 5 4 7
Note: The merging process must start from the root nodes of both trees.
思路
- 遇到树问题,首先想到递归
- 将t2的val加到t1,返回当前处理的t1结点
- 如果t1为null,把引用指向t2
- 需要注意处理null的问题
代码
# Definition for a binary tree node.class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution(object): def mergeTrees(self, t1, t2): """ :type t1: TreeNode :type t2: TreeNode :rtype: TreeNode """ if t1 is not None and t2 is not None: t1.val += t2.val t1.left = self.mergeTrees(t1.left, t2.left) t1.right = self.mergeTrees(t1.right, t2.right) elif t1 is None and t2 is not None: t1 = t2 return t1
本题以及其它leetcode题目代码github地址: github地址
阅读全文
0 0
- 合并两棵二叉树(7 lines)
- 合并两棵二叉树
- 合并俩棵二叉树
- 【二叉树】合并二叉树
- LeetCode二叉树合并
- 判断两棵二叉树是否相等
- 判定两棵二叉树是否同构
- 判断两棵二叉树是否相等
- 判断两棵二叉树是否相等
- 比较两棵二叉树是否相同
- 判断两棵二叉树是否相等
- 判断两棵二叉树是否相似
- 判断两棵二叉树是否同构
- 判断两棵二叉树是否相等
- 判断两棵二叉树是否相等
- 判断两棵二叉树是否相同
- 判断两棵二叉树是不是相同
- 合并两个二叉搜索树
- <HeadFirst设计模式>笔记——工厂模式
- js将时间戳转yyyy-mm-dd
- 对Android 研发的新探索
- bug--内存泄露
- js防止重复提交
- 合并两棵二叉树(7 lines)
- 测试
- Python虚拟环境
- java并发编程: Synchronized与ReentrantLock的区别
- Struts2封装数据(两种)
- sshd 中文使用说明书
- 我的自定义View基础(一)
- SSH error:a public key file has not been specified by this session
- 使用vue-slider-component不能滑动注意事项