LeetCola_100_相同的树_0721S

public boolean isSameTree(TreeNode p, TreeNode q) {

判断两棵树是否相同

参数为两棵树的根节点
方法一 递归

  • 如果p q 都为null
    • 返回true
  • 如果p q 一个为null
    • 返回false
  • (剩下的是p q都不为null的情况)
    • 对比 p q的值
    • 如果值不相等
      • 返回false
    • 如果值相等
      • 返回 左子树的对比 和 右子树的对比

方法二 迭代

  • check方法
    • 如果p q 都为null
      • 返回true
    • 如果p q 一个为null
      • 返回false
    • (剩下的是p q都不为null的情况)
      • 对比 p q的值
      • 如果值不相等
        • 返回false
      • 如果值相等
        • 返回 true
  • 方法
  • 如果p q 都为null
    • 返回true
  • 如果check(p,q)为false
    • 返回 false
  • 建立两个双端队列ArrayDeque
  • 将p q 加在两个队列尾端
  • 如果队列1不为空
    • p q为删除首个节点
    • 如果check(p,q)为false
      • 返回 false
    • 如果p不为null
      • 如果check(p.left, q.left)为false
        • 返回 false
      • 如果p left不为空
        • 将p left 和 q left 的加入对列
      • 如果check(p.right, q.right)为false
        • 返回 false
      • 如果p right不为空
        • 将p right和 q right的加入对列
  • 返回 true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值