给两棵二叉树,原始树(original) 和克隆树(cloned),以及一个位于原始树(original) 中的目标节点 (target)。克隆树是原始树的一个 副本。找出在克隆树中,与 target 相同的节点,并返回对该节点的引用。
(树中节点的数量范围为 [1, 10^4] 。
同一棵树中,没有值相同的节点。
target 节点是树 original 中的一个节点,并且不会是 null。)
源树中没有相同的值,就可以直接遍历克隆树和目标节点比较就行了。
class Solution {
public final TreeNode getTargetCopy(final TreeNode original, final TreeNode cloned, final TreeNode target) {
if (original == null)
return null;
else if(original==target)
return cloned;
else{
TreeNode re=getTargetCopy(original.right,cloned.right,target);
if(re==null){
re=getTargetCopy(original.left,cloned.left,target);
}
return re;
}
}
}
/*提交代码,先遍历右子树内存消耗会更小很多,懂得~~#滑稽
*/