数据结构——二叉树的基础练习题(单值二叉树,翻转二叉树,相同的树,对称二叉树,另一颗子树,二叉树的前序遍历)

Posted sjp11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构——二叉树的基础练习题(单值二叉树,翻转二叉树,相同的树,对称二叉树,另一颗子树,二叉树的前序遍历)相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

前言

下面这些题目是在leecode上摘选的,这些题目有利于我们更深入理解二叉树,用c语言实现。

1.单值二叉树

题目链接: 单值二叉树.
在这里插入图片描述
思路:

遍历二叉树的每一个节点,并且让每个节点都和根节点进行比对,如果出现不同,则不是单值二叉树。

在这里插入图片描述

在这里插入图片描述

分析:

在这里插入图片描述

2.翻转二叉树

题目:
在这里插入图片描述
思路:

翻转每一颗子树的左右节点

在这里插入图片描述

在这里插入图片描述

分析:
在这里插入图片描述

3.相同的树

题目链接: 相同的树.

题目
在这里插入图片描述
解题思路:

先对比根节点是否相同,再对比两颗子树

在这里插入图片描述
在这里插入图片描述

4.对称二叉树

题目链接: 对称二叉树.
在这里插入图片描述
———————————————————————————————————————————————
解题思路:

判断一颗树是否对称,需要判断先判断左右孩子是否对称相等,还需要判断左孩子的左子树与右孩子的右子树是否相等,左孩子的右子树与右孩子的左子树是否相等,如果都相等,则该树为对称二叉树。

答案:

在这里插入图片描述
代码分析:
在这里插入图片描述

5.另一颗子树

题目链接: 另一颗子树.
在这里插入图片描述
解题思路:

判断A树是否为B树的子树,需要判断A树是否与B树中的某一子树相同,这时候需要用相同的树的函数,然后遍历B树中每一个节点,然后与A树进行比较,如果A树与B树中的某一个节点判断为相同的树,则证明A为B的子树。
在这里插入图片描述
代码解析:
在这里插入图片描述

6.二叉树的前序遍历

题目链接: 二叉树的前序遍历.

在这里插入图片描述
题目思路:

Q此题要保存节点,所以需要先获取节点个数,然后进行前序遍历,保存每一个节点值。

代码分析:

在这里插入图片描述

以上是关于数据结构——二叉树的基础练习题(单值二叉树,翻转二叉树,相同的树,对称二叉树,另一颗子树,二叉树的前序遍历)的主要内容,如果未能解决你的问题,请参考以下文章

数据结构二叉树经典基础习题

数据结构之二叉树基础OJ练习单值二叉树

二叉树练习题

二叉树练习题

二叉树练习题

十道题带你手撕二叉树