zoukankan      html  css  js  c++  java
  • 100相同的树

    class TreeNode:
    def __init__(self, val=0, left=None, right=None):
    self.val = val
    self.left = left
    self.right = right
    # 这道题还是比较容易的,直接使用递归的方法就可以解决。
    # 两个二叉树同时进行递归,判断每一次的节点是否相同就好了。
    class Solution:
    def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
    return self.dfs(p,q)
    def dfs(self,root1,root2):
    # 注意这里有四种情况要分别进行判断,因为root1或者root2中其中有一个为空的话,
    # 就一定是不同的二叉树,同时为空或者同时不为空才需要进行接下来的判断。
    if not root1 and root2:
    return False
    elif not root2 and root1:
    return False
    elif not root1 and not root2:
    return True
    # 这是两个节点都不为空的情况,接着判断
    else:
    # 首先判断两个节点的值是否相同。
    if root1.val == root2.val:
    # 然后递归判断当前节点的左儿子和右儿子
    return self.dfs(root1.left,root2.left) and self.dfs(root1.right,root2.right)
    else:
    return False
  • 相关阅读:
    我的第一篇博客
    汇编语言——基础知识 Cop
    汇编语言第二章实验 Cop
    什么是<!DOCTYPE html>
    python第三方模块安装的几个方式
    linux下安装memcacheQ
    python正则表达式
    边框背景
    伪类
    属性选择符和样式
  • 原文地址:https://www.cnblogs.com/cong12586/p/13450591.html
Copyright © 2011-2022 走看看