树的子结构

原创 2015年07月08日 19:43:41




bool HasSubtree(BinaryTreeNode* pRoot1, BinaryTreeNode*pRoot2)
{
bool result = false;
if (pRoot1 != NULL&&pRoot2 != NULL)
{
if (pRoot1->m_nValue == pRoot2->m_nValue)
{
result = DoesTreeHaveTree2(pRoot1, pRoot2);
}
if (!result)
result = HasSubtree(pRoot1->m_pLeft,pRoot2);
if (!result)
result = HasSubtree(pRoot1->m_pRight, pRoot2);
}
return result;
}



bool DesTree1HaveTree2(BinaryTreeNode* pRoot1, BinaryTreeNode* pRoot2)
{
if (pRoot2 == NULL)
return true;
if (pRoot1 == NULL)
return false;
if (pRoot1->m_nValue != pRoot2->m_nValue)
return false;
return DesTree1HaveTree2(pRoot1->m_pLeft, pRoot2->m_pLeft) && DesTree1HaveTree2(pRoot1->m_pRight, pRoot2->m_pRight);
}




面试题 18: 树的子结构

一. 题目 输入两棵二叉树A和B,判断B是不是A的子结构.代码请到我的代码库中下载 Point2Offer二. 代码package week_4;/**难度系数:*** * 剑指offer: 树的...

输入两颗二叉树A,B,判断B是不是A的子结构

方法一:最简单就是首先判断两棵树的根节点是否相同,如果相同则判断两颗树的左节点是否对应,右结点是否对应, 如果两个根节点值不同,主树左节点与子树根节点判断,主树右结点与子树根节点判断,然后再判断对应...

《剑指Offer》学习笔记--面试题18:树的子结构

题目:输入两颗二叉树A和B,判断B是不是A的子结构。 二叉树节点定义如下: struct BinaryTreeNode { int m_nValue; BinaryTreeNode*...

《剑指offer》树的子结构

一、题目描述输入两颗二叉树A,B,判断B是不是A的子结构。二、输入描述输入两棵树A,B。三、输出描述判断B是不是A的子结构,是返回true,否则返回false。四、牛客网提供的框架/* struct ...

求树的子结构

好长时间不更新博客了,今天看到一道以前做过的题(题目来自《剑指offer》),再练一下: 我的思路如下: 判断B是不是A的子结构,就是要判断B是不是和A中的一部分结构是不是完全相同...

树的子结构(剑指offer18)

题目:输入两棵二叉树A和B,判断B是不是A的子结构。二叉树的结点定义如下:...

剑指offer-面试题18-树的子结构

二叉树节点定义: package case18_isTree1IsSubtreeOfTree2; public class myTreeNode { int data; myTreeNode ...

【剑指Offer】面试题18:树的子结构

思路整理自剑指Offer 一:题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 二:解题思路 要查找树A中找到和树B结构一样的子树:...

笔试面试算法经典--二叉树的子结构(Java)

题目描述 输入两棵二叉树A,B,判断B是不是A的子结构(空树不是任意一个树的子结构)。下图中:右边的二叉树是左边二叉树的子结构解法: 先序遍历 A树,如果当前节点与 B树的根节点相同,则判断 B ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:树的子结构
举报原因:
原因补充:

(最多只允许输入30个字)