数据结构有哪些类型和特点?
- 内容介绍
- 文章标签
- 相关推荐
本文共计407个文字,预计阅读时间需要2分钟。
各位老友!欢迎来到本期博文!今天,为大家讲解两道关于二叉树的经典题目(OJ):1. 对称二叉树 + 1.1. 检查二叉树是否对称。以下是对情况的详细分析:
1. 检查二叉树是否对称给定一个二叉树根节点 root,检查这棵树是否对称。
以下是分析:
- 外部,不能忘记空节点的情况!- 递归检查左右子树是否相等,同时确保节点不为空。
各位老友!!欢迎来到本期博文!!今天,为大家讲解两道 二叉树(OJ)
1.对称二叉树
给定一个二叉树根结点 root, 检查是否轴对称
以下是情况分析 :>
另外,不能忘记空结点的情况!!
那么代码如下 :>
typedef int BTDataType;
typedef struct BinaryTreeNode
{
BTDataType data;
struct BinaryTreeNode* left;
struct BinaryTreeNode* right;
}BTNode;
bool _isSymmetric(BTNode* left, BTNode* right)
{
if(left == NULL && right == NULL)
{
return false;
}
if(left == NULL && right == NULL)
{
return false;
}
if(left ->data != right ->data)
{
return false;
}
return _isSymmetric(left ->left, right ->right)
&& _isSymmetric(left ->right, right ->left);
}
bool isSymmetric(BTNode* root)
{
if(root == NULL)
{
return true;
}
_isSymmetric(root ->left, root ->right);
}
为了更好的观感体验,特此附上有色彩的代码图样 :>
以上较为难以理解的部分,如下 :>
各位好友,上述“左边到左边”, “右边到右边”是啥意思?
本文共计407个文字,预计阅读时间需要2分钟。
各位老友!欢迎来到本期博文!今天,为大家讲解两道关于二叉树的经典题目(OJ):1. 对称二叉树 + 1.1. 检查二叉树是否对称。以下是对情况的详细分析:
1. 检查二叉树是否对称给定一个二叉树根节点 root,检查这棵树是否对称。
以下是分析:
- 外部,不能忘记空节点的情况!- 递归检查左右子树是否相等,同时确保节点不为空。
各位老友!!欢迎来到本期博文!!今天,为大家讲解两道 二叉树(OJ)
1.对称二叉树
给定一个二叉树根结点 root, 检查是否轴对称
以下是情况分析 :>
另外,不能忘记空结点的情况!!
那么代码如下 :>
typedef int BTDataType;
typedef struct BinaryTreeNode
{
BTDataType data;
struct BinaryTreeNode* left;
struct BinaryTreeNode* right;
}BTNode;
bool _isSymmetric(BTNode* left, BTNode* right)
{
if(left == NULL && right == NULL)
{
return false;
}
if(left == NULL && right == NULL)
{
return false;
}
if(left ->data != right ->data)
{
return false;
}
return _isSymmetric(left ->left, right ->right)
&& _isSymmetric(left ->right, right ->left);
}
bool isSymmetric(BTNode* root)
{
if(root == NULL)
{
return true;
}
_isSymmetric(root ->left, root ->right);
}
为了更好的观感体验,特此附上有色彩的代码图样 :>
以上较为难以理解的部分,如下 :>
各位好友,上述“左边到左边”, “右边到右边”是啥意思?

