分析:1、初始化二叉樹
2、如果t1不存在,返回t2;如果t1存在,t1的值=t1的值+t2的值;內部遞迴迴圈t1左子樹和t1右子樹,返回t1
3、賦值t1,t2,得出和
**:#definition for a binary tree node,初始化二叉樹class treenode(object):
def __init__(self, x):
self.val = x
self.left = none
self.right = none
#前序遍歷(先遍歷根節點,再遍歷左子樹,再遍歷右子樹)def preorder(root):
if root:
print(root.val)
preorder(root.left)
preorder(root.right)
#中序遍歷(先遍歷左子樹,再遍歷根節點,再遍歷右子樹)
def inorder(root):
if root:
inorder(root.left)
print(root.val)
inorder(root.right)
#後序遍歷(先遍歷左子樹,再遍歷右子樹,再遍歷根節點)
def postorder(root):
if root:
postorder(root.left)
postorder(root.right)
print(root.val)class solution(object):
def mergetrees(self, t1:treenode, t2:treenode):
""":type t1: treenode
:type t2: treenode
:rtype: treenode
"""if not t1 and t2:
return t2
elif t1 and t2:
t1.val = t2.val+t1.val
t1.left = self.mergetrees(t1.left,t2.left)
t1.right = self.mergetrees(t1.right,t2.right)
return t1#賦值t1tree1 = treenode(1)
tree1.left = treenode(3)
tree1.right = treenode(2)
tree1.left.left = treenode(5)
preorder(tree1)#賦值t2tree2 = treenode(2)
tree2.left = treenode(1)
tree2.right = treenode(3)
tree2.left.right = treenode(4)
tree2.right.right=treenode(7)
preorder(tree2)例項執行
s = solution()
res = s.mergetrees(tree1,tree2)
print(res)
preorder(res)執行結果:
135
2214
37<__main__.treenode object at 0x000001745567c128>34
5457
process finished with exit code 0
題目要求'''
給定兩個二叉樹,想象當你將它們中的乙個覆蓋到另乙個上時,兩個二叉樹的一些節點便會重疊。
你需要將他們合併為乙個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 null 的節點將直接作為新二叉樹的節點。
示例 1:
輸入: tree 1 tree 2
1 2
/ \ / \
3 2 1 3
/ \ \
5 4 7
輸出:合併後的樹:
3/ \
4 5
/ \ \
5 4 7
注意: 合併必須從兩個樹的根節點開始。
'''
617 合併二叉樹
給定兩個二叉樹,想象當你將它們中的乙個覆蓋到另乙個上時,兩個二叉樹的一些節點便會重疊。你需要將他們合併為乙個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 null 的節點將直接作為新二叉樹的節點。示例 1 輸入 tree 1 tree 2 1 2 3 2...
617 合併二叉樹
題目描述 給定兩個二叉樹,想象當你將它們中的乙個覆蓋到另乙個上時,兩個二叉樹的一些節點便會重疊。你需要將他們合併為乙個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 null 的節點將直接作為新二叉樹的節點。示例 1 輸入 輸出 合併後的樹 注意 合併必須...
LeetCode合併二叉樹
給定兩個二叉樹,想象當你將它們中的乙個覆蓋到另乙個上時,兩個二叉樹的一些節點便會重疊。你需要將他們合併為乙個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 null 的節點將直接作為新二叉樹的節點。示例 1 輸入 原始二叉樹如下圖 輸出 合併後的二叉樹如下...