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; }