合并二叉树

一句话说明

合并二叉树就是把同位置的节点相加,空节点直接拿另一棵树补上。

Go 代码

func mergeTrees(root1 *TreeNode, root2 *TreeNode) *TreeNode {
    if root1 == nil {
        return root2
    }
    if root2 == nil {
        return root1
    }
 
    root := &TreeNode{Val: root1.Val + root2.Val}
    root.Left = mergeTrees(root1.Left, root2.Left)
    root.Right = mergeTrees(root1.Right, root2.Right)
    return root
}

关键点

这题本质是同步遍历两棵树,对应位置的节点一一合并。

相关主题


返回:树算法 | 算法学习导航