判断俩个二叉树是否一样,需要比较它们的每个节点的值是否相等,以及它们的左右子树是否一样。具体的做法可以采用递归的方式:

  1. 首先判断根节点的值是否相等,若不相等则直接返回false。

  2. 然后递归比较左子树和右子树是否一样,若有任何一个子树不一样则返回false。

  3. 如果根节点的值相等且左右子树都一样,则说明这两棵二叉树是一样的,返回true。

下面是示例代码:

class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

def isSameTree(p: TreeNode, q: TreeNode) -> bool:
    if not p and not q:
        return True
    elif not p or not q:
        return False
    elif p.val != q.val:
        return False
    else:
        return isSameTree(p.left, q.left) and isSameTree(p.right, q.right)

其中,TreeNode是二叉树节点的定义,isSameTree是判断俩个二叉树是否一样的函数,它接受两个参数p和q,分别代表两棵二叉树的根节点。函数返回True表示这两棵二叉树一样,返回False表示不一样。

怎样判断俩个二叉树一样

原文地址: https://www.cveoy.top/t/topic/Ml0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录