首页 > [剑指offer小分队]没错,我们坚持10天了
头像
我是程序员小贱
编辑于 2020-07-07 00:00
+ 关注

[剑指offer小分队]没错,我们坚持10天了

1 题目描述

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)

2 思路----java版本

  • 首先设置标志位result,如果结果为false则匹配不成功,如果为true则匹配
  • 采用递归的思想,如果根节点不相同则比较判断tree1左子树和tree2是否相同。如果根系欸但相同则递归调用DoesTree1HaveTree2()
  • 这里需要注意null的情况,再HasSubTree中,如果两棵树此时都不为空才进行判断。在DoesTree1HaveTree2中,如果Tree2为空则表明第二棵树遍历完了,匹配成功。对于tree1而言则分为两种情况
  • 第一种情况是tree1为空,tree2不为空,此时说明不匹配。
  • 第二种情况是tree1为空,tree2为空,说明匹配

3 代码实现

c++版本

java版本

python版本

4 唠嗑

2020年7月6日打卡,打卡格式"打卡XX天"。暖蓝汇聚大家一起,探讨简历修改,面试经历分享,尽全力让大家能在2020找到理想的工作。如果你想加入,加我拉你进面试交流群。

全部评论

(11) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐