LintCode - 克隆二叉树(普通)

版权声明:本文为博主原创文章,未经博主允许不得转载。

难度:容易
要求:

深度复制一个二叉树。
给定一个二叉树,返回一个他的 克隆品
样例给定一个二叉树:

    1
   /  \
  2    3
 / \
4   5

返回其相同结构相同数值的克隆二叉树:

    1
   /  \
  2    3
 / \
4   5

思路:递归

/**
 * Definition of TreeNode:
 * public class TreeNode {
 *     public int val;
 *     public TreeNode left, right;
 *     public TreeNode(int val) {
 *         this.val = val;
 *         this.left = this.right = null;
 *     }
 * }
 */
public class Solution {
    /**
     * @param root: The root of binary tree
     * @return root of new tree
     */
    public TreeNode cloneTree(TreeNode root) {
        // Write your code here
        if(root == null){
            return null;
        }
        
        TreeNode node = new TreeNode(root.val);
        node.left = cloneTree(root.left);
        node.right = cloneTree(root.right);
        return node;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 树的概述 树是一种非常常用的数据结构,树与前面介绍的线性表,栈,队列等线性结构不同,树是一种非线性结构 1.树的定...
    Jack921阅读 4,491评论 1 31
  • 概述# 二叉树是一种特殊的树型结构,它由结点的有限集合构成。 二叉树是由唯一的起始结点引出的结点集合。这个起始节点...
    长胖的鱼阅读 1,145评论 0 8
  • 题目 深度复制一个二叉树。给定一个二叉树,返回一个他的 克隆品 。 样例给定一个二叉树: 返回其相同结构相同数值的...
    六尺帐篷阅读 667评论 0 2
  • 面试题7:重建二叉树 题目: 输入某二叉树的前序遍历和中序遍历的结果。请重建该二叉树。假设输入的前序遍历和中序遍历...
    lyoungzzz阅读 575评论 0 0
  • 1. 链表 链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,...
    Mr希灵阅读 5,668评论 1 17