博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 572. 另一个树的子树(Subtree of Another Tree)
阅读量:4940 次
发布时间:2019-06-11

本文共 1210 字,大约阅读时间需要 4 分钟。

目录

题目描述:

给定两个非空二叉树 st,检验 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


解法:

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    bool equal(TreeNode* s, TreeNode* t){        if(!s && !t){            return true;        }else if(!s || !t){            return false;        }else{            if(s->val != t->val){                return false;            }else{                return equal(s->left, t->left) && equal(s->right, t->right);            }        }    }        bool isSubtree(TreeNode* s, TreeNode* t) {        if(!t){            return true;        }else if(!s){            return false;        }else{            if(equal(s, t)){                return true;            }else{                return isSubtree(s->left, t) || isSubtree(s->right, t);            }        }            }};

转载于:https://www.cnblogs.com/zhanzq/p/10599758.html

你可能感兴趣的文章
Control.Invoke和Control.BeginInvoke简述
查看>>
Oracle的物化视图
查看>>
SHGetSpecialFolderPath用法
查看>>
QPainter绘制图片填充方式(正常大小、剪切大小、自适应大小、平铺)
查看>>
MEP风管对齐方式
查看>>
Android解析XML之SAX解析器
查看>>
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
查看>>
学习笔记ResNet
查看>>
神奇的 Object.defineProperty
查看>>
css3常用的样式加前缀归类
查看>>
动态分配内存的初始化
查看>>
mysql-client ERROR 2002解决方法
查看>>
Java虚拟机 - Class类文件结构
查看>>
springmvc日期格式化
查看>>
vue移动端项目
查看>>
FLTK在linux下的编译安装过程,让大家少走弯路
查看>>
迷宫-BFS
查看>>
[转][layui]table 的一个BUG
查看>>
Chrome常见黑客插件及用法
查看>>
VS2008集成QT的OpenGL开发(实现二维图形的旋转)
查看>>