617. Merge Two Binary Trees

1、題目spa

  一、審題 code

  

 

  二、分析blog

    將兩個二叉樹合併爲一棵(對應的節點值相加)。遞歸

 

2、解答class

  方法1、二叉樹

    將 t1 做爲目標二叉樹,方法

    ①  若 t1 與 t2 均不爲空, 則 t1 值爲 t1 與 t2 值之和。遞歸計算 t1 左右孩子im

    ②  若 t1 爲空,則返回 t2img

    ③ 若 t2 爲空,則返回 t1di

    public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
        if(t1 == null)
            return t2;
        if(t2 != null) {
            t1.val += t2.val;
            t1.left = mergeTrees(t1.left, t2.left);
            t1.right = mergeTrees(t1.right, t2.right);
        }
        return t1;
    }

 

  方法2、

    新建一棵二叉樹,做爲兩顆樹合併的結果。

    public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
        if(t1 == null)
            return t2;
        if(t2 == null)
            return t1;
        
        TreeNode newNode = new TreeNode(t1.val + t2.val);
        newNode.left = mergeTrees(t1.left, t2.left);
        newNode.right = mergeTrees(t1.right, t2.right);
        return newNode;
    }
相關文章
相關標籤/搜索