• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

617合并二叉树

python 搞java代码 3年前 (2022-05-21) 23次浏览 已收录 0个评论
class TreeNode:<br>    def __init__(<a href="https://www.gaodaima.com/tag/self" title="查看更多关于self的文章" target="_blank">self</a>, x):<br>        self.val = x<br>        self.left = None<br>        self.right = None<br># 这道也是简单题,也是用深搜的办法来做的。<br># 遍历每一个节点,然后如果这个节点两个树都有的话就加到第一个树上边。<br># 如果第二个树有而第一个树没有的话,就将第一个树的节点指向个树。<br>class Solution:<br>    def mergeTrees(self, t1: TreeNode, t2: TreeNode) -> TreeNode:<br>        # 判断两个树是否为空<br>        if not t1 and t2:<br>            return t2<br>        elif not t2 and t1:<br>            return t1<br>        elif not t1 and not t2:<br>            return t1<br>        else:<br>            # 注意这里如果两个树都不为空的时候,注意是否只有根节点。<br>            t1.val += t2.val<br>            if not t1.left and not t1.right and not t2.left and not t2.right:<br>                return t1<br>            else:<br>                self.dfs(t1,t2)<br>        return t1<br>    def dfs(self,root1,root2):<br>        # 两个树的节点的左儿子都不为空,就加到第一个树的节点上边。<br>        if root1.left and root2.left :<br>            root1.left.val += root2.left.val<br>            # 然后继续进行遍历<br>            self.dfs(root1.left,root2.left)<br>        # 如果两个树的左儿子节点都为空,或者第一个树的左儿子节点不为空,<br>        # 不用进行改变。<br>        # 如果第二个树的左儿子节点不为空,第一个树的左儿子节点为空,<br>        # 那么就将第一个树的指针指向第二个树的左儿子节点。<br>        elif not root1.left and root2.left:<br>            root1.left = root2.left<br>        # 右子树和左子树一样的。<br><br>        if root1.right and root2.right :<br>            root1.right.val += root2.right.val<br>            self.dfs(root1.right,root2.right)<br>        elif not root1.right and root2.right:<br>            root1.right = root2.right<br><br>

www#gaodaima.com来源gaodaimacom搞#^代%!码&网搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:617合并二叉树
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址