Merge Two Binary Trees

来源:互联网 发布:getdata软件 编辑:程序博客网 时间:2024/05/22 04:51

原题链接

题目主要的意思如下:

  1. 如果两棵树内对应节点均有数据,则节点值相加;
  2. 如果没有,则将对应子树进行拼接。

思路:
分治法。因为对每个节点的操作都可以分割为独立的小问题。

class Solution {    public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {        if (t1 == null && t2 == null) return null;        int val = (t1 == null ? 0 : t1.val) + (t2 == null ? 0 : t2.val);        TreeNode newNode = new TreeNode(val);        newNode.left = mergeTrees(t1 == null ? null : t1.left, t2 == null ? null : t2.left);        newNode.right = mergeTrees(t1 == null ? null : t1.right, t2 == null ? null : t2.right);        return newNode;    }}
原创粉丝点击