经典二叉树试题(一)

在这里插入图片描述


北尘_:个人主页

个人专栏:《Linux操作系统》《经典算法试题 》《C++》 《数据结构与算法》

☀️走在路上,不忘来时的初心

文章目录

  • 一、相同的树
    • 1、题目介绍
    • 2、思路讲解
    • 3、代码演示
  • 二、对称二叉树
    • 1、题目介绍
    • 2、思路讲解
    • 3、代码演示
  • 三、二叉树的最大深度
    • 1、题目介绍
    • 2、思路讲解
    • 3、代码演示
  • 四、左子树之和
    • 1、题目介绍
    • 2、思路讲解
    • 3、代码演示
  • 五、平衡二叉树
    • 1、题目介绍
    • 2、思路讲解
    • 3、代码演示
  • 六、相同的树
    • 1、题目介绍
    • 2、思路讲解
    • 3、代码演示


一、相同的树

1、题目介绍

经典二叉树试题(一)_第1张图片
经典二叉树试题(一)_第2张图片

2、思路讲解

先判断是否为空,是的话返回真,然后判断是否一树为空,一树不为空,在判断结点是否相等,然后递归左子树右子树。

3、代码演示

经典二叉树试题(一)_第3张图片


二、对称二叉树

1、题目介绍

经典二叉树试题(一)_第4张图片
经典二叉树试题(一)_第5张图片

2、思路讲解

跟上题思路一样,只不过递归条件换了。

3、代码演示

经典二叉树试题(一)_第6张图片


三、二叉树的最大深度

1、题目介绍

经典二叉树试题(一)_第7张图片
经典二叉树试题(一)_第8张图片

2、思路讲解

判断是否为空,是的话返回0,然后求左子树最大深度,右子树最大深度,最后返回左右子树中最大的那个加上根节点。

3、代码演示

经典二叉树试题(一)_第9张图片


四、左子树之和

1、题目介绍

经典二叉树试题(一)_第10张图片
经典二叉树试题(一)_第11张图片

2、思路讲解

先判断是否为空,是的话返回0。然后再判断他的左树,右树的左右结点是否为空,是的话,加上他的值,然后递归。

3、代码演示

经典二叉树试题(一)_第12张图片


五、平衡二叉树

1、题目介绍

经典二叉树试题(一)_第13张图片
经典二叉树试题(一)_第14张图片

2、思路讲解

我们可以先判断,左子树的个数,右子树的个数,然后判断差值。

3、代码演示

经典二叉树试题(一)_第15张图片


六、相同的树

1、题目介绍

经典二叉树试题(一)_第16张图片

经典二叉树试题(一)_第17张图片

2、思路讲解

先判断root树是否为空,然后在root结点和subRoot结点相同的情况下,判断是否为同一个树,然后在递归。

3、代码演示

经典二叉树试题(一)_第18张图片


你可能感兴趣的:(经典算法试题,算法)