美文网首页
另一个树的子树

另一个树的子树

作者: 7赢月 | 来源:发表于2020-05-07 11:21 被阅读0次

题目描述

https://leetcode-cn.com/problems/subtree-of-another-tree/


package main

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func isSubtree(s *TreeNode, t *TreeNode) bool {
    // 错误处理
    if s == nil || t == nil {
        return false
    }
    return isSubtreeDFS(s, t)
}

func isSubtreeDFS(root *TreeNode, t *TreeNode) bool {
    if root == nil {
        return false
    }
    if Check(root, t) {
        return true
    }
    if isSubtreeDFS(root.Left, t) {
        return true
    }
    return isSubtreeDFS(root.Right, t)
}

// 遍历每个节点 判断是否相等 相等开启判断模式
func Check(s *TreeNode, t *TreeNode) bool {
    if s == t && t == nil {
        return true
    }
    if s == nil || t == nil {
        return false
    }
    if s.Val != t.Val {
        return false
    }
    if !Check(s.Left, t.Left) {
        return false
    }
    return Check(s.Right, t.Right)
}


思路

选择中序遍历!这是简单模式的

相关文章

  • [Leetcode] 572. 另一个树的子树

    572. 另一个树的子树 来源: 572. 另一个树的子树 1. 题目描述 给定两个非空二叉树 s 和 t,检验...

  • 另一个树的子树

    题目: 题目的理解: 找从t开始所有节点的值都一样的子节点。 python实现 想看最优解法移步此处 提交 刚刚还...

  • 另一个树的子树

    题目描述 https://leetcode-cn.com/problems/subtree-of-another-...

  • 另一个树的子树

    标签:树 dfs 给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一...

  • LeetCode 572. 另一个树的子树 | Python

    572. 另一个树的子树 题目来源:https://leetcode-cn.com/problems/subtre...

  • 树、二叉树

    树的概念 节点、根节点、父节点、子节点、兄弟节点 、子树、左子树、右子树、空树 节点的度(degree):子树的个...

  • 树--(二叉树、B树、B+树)

    二叉树 二分法形成的树右子树大于左子树,长于左子树平衡二叉树:右子树比左子树高度差不超过1 算法效率 O(logN...

  • 数据结构与算法(二叉树)

    二叉树 二叉树的基本概念 二叉树是每个节点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”。 二叉树的...

  • 刷题No8 二叉树基本概念

    二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(ri...

  • 572. 另一个树的子树

    给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的...

网友评论

      本文标题:另一个树的子树

      本文链接:https://www.haomeiwen.com/subject/ijvoghtx.html