zoukankan      html  css  js  c++  java
  • Leetcode572.Subtree of Another Tree另一个树的子树

    给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。

    示例 1:

    给定的树 s:

    3 / 4 5 / 1 2

    给定的树 t:

    4 / 1 2

    返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。

    示例 2:

    给定的树 s:

    3 / 4 5 / 1 2 / 0

    给定的树 t:

    4 / 1 2

    返回 false。

    class Solution {
    public:
        bool isSubtree(TreeNode* s, TreeNode* t)
        {
            if(s == NULL)
                return false;
            if(s ->val == t ->val)
                if(isSame(s, t))
                    return true;
            return isSubtree(s ->left, t) || isSubtree(s ->right, t);
        }
    
        bool isSame(TreeNode* s, TreeNode* t)
        {
            if(s == NULL && t == NULL)
                return true;
            else if(s != NULL && t != NULL)
            {
                if(s ->val != t ->val)
                    return false;
                return isSame(s ->left, t ->left) && isSame(s ->right, t ->right);
            }
            else
                return false;
        }
    };
    
  • 相关阅读:
    CSV
    矛与盾热血江湖实现喊话功能
    IDA 使用小结
    OD 命令行插件支持的命令
    Qt TreeView
    矛与盾内存数据的分析
    Windows 内核 I/O 端口操作
    矛与盾注入到目标进程
    Qt 多级menu
    C# 美元转中文
  • 原文地址:https://www.cnblogs.com/lMonster81/p/10434058.html
Copyright © 2011-2022 走看看