2021-02-24 找出克隆二叉树中的相同节点

题目 找出克隆二叉树中的相同节点

给你两棵二叉树,原始树 original 和克隆树 cloned,以及一个位于原始树 original 中的目标节点 target。
其中,克隆树 cloned 是原始树 original 的一个 副本 。
请找出在树 cloned 中,与 target 相同 的节点,并返回对该节点的引用

示例 1:
在这里插入图片描述

输入: tree = [7,4,3,null,null,6,19], target = 3
输出: 3(黄色结点3的引用)
解释: 上图画出了树 original 和 cloned。target 节点在树 original 中,用绿色标记。答案是树 cloned 中的黄颜色的节点(其他示例类似)

同时递归遍历两棵树,如果遍历到原树结点等于target,则对应cloned结点即所求点

class Solution {
	//全局结点赋值求取结点
    TreeNode* pNode = NULL;
public:
    TreeNode* getTargetCopy(TreeNode* original, TreeNode* cloned, TreeNode* target) {
        if(original == target)
            pNode = cloned;
        if(pNode == NULL && original->left) getTargetCopy(original->left , cloned->left , target);
        if(pNode == NULL && original->right) getTargetCopy(original->right , cloned->right , target);
        return pNode;
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值