题目描述
题解
题解1:
# 非递归
class Solution:
def mergeTrees(self, t1: TreeNode, t2: TreeNode) -> TreeNode:
if t1 == None and t2 != None:
return t2
if t2 == None and t1 != None:
return t1
if t1 == None and t2 == None:
return None
qu = [t1,t2]
res = t1
while qu:
node1 = qu.pop(0)
node2 = qu.pop(0)
node1.val += node2.val
if node1.left != None and node2.left != None:
qu.append(node1.left)
qu.append(node2.left)
elif node1.left == None:
node1.left = node2.left
if node1.right != None and node2.right != None:
qu.append(node1.right)
qu.append(node2.right)
elif node1.right == None:
node1.right = node2.right
return t1
题解2:
# 递归
class Solution:
def mergeTrees(self, t1: TreeNode, t2: TreeNode) -> TreeNode:
if not t1:
return t2
if not t2:
return t1
t1.val += t2.val
t1.left = self.mergeTrees(t1.left,t2.left)
t1.right = self.mergeTrees(t1.right,t2.right)
return t1
总结
1、
pop()之后,便从list中消失。