《剑指Offer——对称的二叉树》代码

Posted 穿迷彩服的鲨鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《剑指Offer——对称的二叉树》代码相关的知识,希望对你有一定的参考价值。


前言

//==================================================================
// 《剑指Offer——对称的二叉树》代码
// 题目:请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和
// 它的镜像一样,那么它是对称的。
//==================================================================


一、示例

/************************************************************************
/*
请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
    1
   / \\
  2   2
 / \\ / \\
3  4 4  3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
    1					 1
   / \\					/ \\
  2   2				   2   2
   \\   \\		      /    /
   3    3			 3    3
示例 1:
输入:root = [1,2,2,3,4,4,3]
输出:true
示例 2:
输入:root = [1,2,2,null,3,null,3]
输出:false
*/
*************************************************************************/

二、代码解析

1.新建.cpp文件

代码如下(示例):

//==================================================================
// 《剑指Offer——对称的二叉树》代码
// 题目:请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和
// 它的镜像一样,那么它是对称的。
//==================================================================

#include<iostream>
using namespace std;

struct TreeNode
{
	int val;
	TreeNode* left;
	TreeNode* right;
};
/*法一 对称遍历*/
bool isSymmerical1(TreeNode* root1, TreeNode* root2)
{
	if (root1 == nullptr && root2 == nullptr)
	{
		return true;
	}
	if (root1 == nullptr || root2 == nullptr|| root1->val != root2->val)
	{
		return false;
	}

	return isSymmerical1(root1->left, root2->right) && isSymmerical1(root1->right, root2->left);
}

/*
请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
    1
   / \\
  2   2
 / \\ / \\
3  4 4  3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
    1					 1
   / \\					/ \\
  2   2				   2   2
   \\   \\		      /    /
   3    3			 3    3
示例 1:
输入:root = [1,2,2,3,4,4,3]
输出:true
示例 2:
输入:root = [1,2,2,null,3,null,3]
输出:false
*/
bool isSymmetric1(TreeNode* root)
{
	return isSymmerical1(root, root);
}

int main()
{
	return 0;
}

以上是关于《剑指Offer——对称的二叉树》代码的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer面试题 28. 对称的二叉树

剑指offer-对称的二叉树

[剑指Offer]对称的二叉树

剑指offer:对称的二叉树

剑指 Offer 28. 对称的二叉树无取巧,易于理解!

剑指 Offer 28. 对称的二叉树无取巧,易于理解!