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)
        )

你可能感兴趣的:(代码随想录一刷,数据结构,算法)