Leetcode 1379. 找出克隆二叉树中的相同节点

给你两棵二叉树,原始树 original 和克隆树 cloned,以及一个位于原始树 original 中的目标节点 target。

其中,克隆树 cloned 是原始树 original 的一个 副本 。

请找出在树 cloned 中,与 target 相同 的节点,并返回对该节点的引用(在 C/C++ 等有指针的语言中返回
节点指针,其他语言返回节点本身)。

这里是引用

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

class Solution {
    
    
public:
    TreeNode* getTargetCopy(TreeNode* original, TreeNode* cloned, TreeNode* target) {
    
    
        if(original==target) return cloned;
        if(original==NULL || cloned==NULL) return NULL;
        TreeNode* left=getTargetCopy(original->left,cloned->left,target);
        TreeNode* right=getTargetCopy(original->right,cloned->right,target);
        return left==NULL?right:left;
    }
};

猜你喜欢

转载自blog.csdn.net/qq_45602618/article/details/114391304