Day15 二叉树part02

层序遍历二叉树

利用队列模拟每一层,注意需要记录size。

其实重点就是如何判断每一层结束了,这里给出的方法就是记录size。

因为记录的size就是上一层的左右孩子的个数,所以成立。

等到size变成0的时候,下一层的元素也就加到队列中了。

妙啊,妙啊

对称二叉树

判断两子树是否相等:

def are_nodes_equal(self, node1: TreeNode, node2: TreeNode) -> bool:
        # 如果两个节点都为None,则它们相等
        if not node1 and not node2:
            return True
        
        # 如果其中一个节点为None,另一个不为None,则它们不相等
        if not node1 or not node2:
            return False
        
        # 比较节点的值,左子树和右子树是否相等
        return (
            node1.val == node2.val and
            self.are_nodes_equal(node1.left, node2.left) and
            self.are_nodes_equal(node1.right, node2.right)
        )

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值