美文网首页leetcode和算法----日更
leetcode 617 合并二叉树

leetcode 617 合并二叉树

作者: Arsenal4ever | 来源:发表于2020-02-03 21:46 被阅读0次

    直接递归处理就好,没啥好想的。

    # Definition for a binary tree node.
    # class TreeNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution(object):
        def mergeTrees(self, t1, t2):
            """
            :type t1: TreeNode
            :type t2: TreeNode
            :rtype: TreeNode
            """
            if not t1 and not t2:
                return None
            t1Val = t1.val if t1 else 0
            t2Val = t2.val if t2 else 0
            retNode = TreeNode(t1Val + t2Val)
            t1Left = t1.left if t1 else None
            t1Right = t1.right if t1 else None
            t2Left = t2.left if t2 else None
            t2Right = t2.right if t2 else None
            retNode.left = self.mergeTrees(t1Left, t2Left)
            retNode.right = self.mergeTrees(t1Right, t2Right)
            return retNode
    

    看到了一个简洁到极致的写法:

    # Definition for a binary tree node.
    # class TreeNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution(object):
        def mergeTrees(self, t1, t2):
            """
            :type t1: TreeNode
            :type t2: TreeNode
            :rtype: TreeNode
            """
            if t1 and t2:
                t1.val += t2.val
                t1.left = self.mergeTrees(t1.left, t2.left)
                t1.right = self.mergeTrees(t1.right, t2.right)
            return t1 or t2
    

    相关文章

      网友评论

        本文标题:leetcode 617 合并二叉树

        本文链接:https://www.haomeiwen.com/subject/jeakxhtx.html