1. 程式人生 > >Leetcode 617.合並二叉樹

Leetcode 617.合並二叉樹

ini tree bin color 兩個 class inf 將他 合並

合並二叉樹

給定兩個二叉樹,想象當你將它們中的一個覆蓋到另一個上時,兩個二叉樹的一些節點便會重疊。

你需要將他們合並為一個新的二叉樹。合並的規則是如果兩個節點重疊,那麽將他們的值相加作為節點合並後的新值,否則不為 NULL 的節點將直接作為新二叉樹的節點。

示例 1:

輸入:

技術分享圖片

輸出:

合並後的樹:

技術分享圖片

註意: 合並必須從兩個樹的根節點開始。

 1 /**
 2  * Definition for a binary tree node.
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
6 * TreeNode right; 7 * TreeNode(int x) { val = x; } 8 * } 9 */ 10 class Solution { 11 public TreeNode mergeTrees(TreeNode t1, TreeNode t2) { 12 if(t1!=null&&t2!=null) t1.val=t1.val+t2.val; 13 if(t1==null&&t2!=null){ 14 t1=new TreeNode(t2.val);
15 } 16 if(t2!=null){ 17 t1.left=mergeTrees(t1.left,t2.left); 18 t1.right=mergeTrees(t1.right,t2.right); 19 } 20 return t1; 21 } 22 }

Leetcode 617.合並二叉樹