LintCode:克隆二叉树

原创 2016年08月30日 23:59:57

LintCode:克隆二叉树

"""
Definition of TreeNode:
class TreeNode:
    def __init__(self, val):
        this.val = val
        this.left, this.right = None, None
"""
class Solution:
    """
    @param {TreeNode} root: The root of binary tree
    @return {TreeNode} root of new tree
    """
    def cloneTree(self, root):
        # Write your code here
        if not root:
            return root

        my_root = TreeNode(root.val)
        self.pre_order_clone(my_root, root)
        return my_root

    def pre_order_clone(self, my_root, root):
        if not root:
            return
        if root.left:
            my_root.left = TreeNode(root.left.val)
            self.pre_order_clone(my_root.left, root.left)
        if root.right:
            my_root.right = TreeNode(root.right.val)
            self.pre_order_clone(my_root.right, root.right)
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

克隆二叉树

题目描述:深度复制一个二叉树。给定一个二叉树,返回一个他的克隆品 。 题目把意思已经说得很清楚了,所以不再举例了。 非常简单,用一个简单的递归就可以解决,这个思路有点类似于二叉树的...

克隆二叉树

1.问题描述:深度复制一个二叉树。给定一个二叉树,返回他的一个克隆品。 2.思路:正如样例 给定一个二叉树: 1 / \ 2 3 / \ 4 5 返回其相同...

克隆二叉树

问题描述: 深度复制一个二叉树。 给定一个二叉树,返回一个他的 克隆品 。 样例 给定一个二叉树: 1 / \ 2 3 / \ 4 5 ...

LintCode 克隆二叉树

1.描述 深度复制一个二叉树。 给定一个二叉树,返回一个他的克隆品 。 哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloom...

Lintcode 二叉树的后序遍历

二叉树的后序遍历 给出一棵二叉树,返回其节点值的后序遍历。 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 ...

LintCode 二叉树的序列化和反序列化 题解

二叉树的序列化和反序列化   描述 笔记  数据  评测 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序...

LintCode -- 二叉树的后序遍历

LintCode -- binary-tree-postorder-traversal(二叉树的后序遍历) 原题链接:http://www.lintcode.com/zh-cn/problem/bi...

lintcode flatten-binary-tree-to-linked-list 将二叉树拆成链表 前序扁平化 中序扁平化

问题描述lintcode笔记看了半天还是比较能接受递归的解法。参考: [LeetCode] flatten binary tree 扁平化二叉树 思路:假设以下函数 TreeNode cove...

LintCode 关于二叉树问题的总结

1.树的定义 树:n(n≥0)个结点的有限集合。当n=0时,称为空树;任意一棵非空树满足以下条件: ⑴ 有且仅有一个特定的称为根的结点; ⑵ 当n>1时,除根结点之外的其余结点被分成m(m>...

lintcode,二叉树的路径和

给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。 一个有效的路径,指的是从根节点到叶节点的路径。 样例 给定一个二叉树,和 目标值 = 5: 1 / ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)