《剑指Offer——二叉树的镜像》代码
Posted 穿迷彩服的鲨鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《剑指Offer——二叉树的镜像》代码相关的知识,希望对你有一定的参考价值。
前言
//==================================================================
// 《剑指Offer——二叉树的镜像》代码
// 题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。
//==================================================================
一、示例
/************************************************************************
/*
请完成一个函数,输入一个二叉树,该函数输出它的镜像。
例如输入:
4
/ \\
2 7
/ \\ / \\
1 3 6 9
镜像输出:
4
/ \\
7 2
/ \\ / \\
9 6 3 1
示例 1:
输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]
*/
*************************************************************************/
二、代码解析
1.新建.cpp文件
代码如下(示例):
//==================================================================
// 《剑指Offer——二叉树的镜像》代码
// 题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。
//==================================================================
#include<iostream>
using namespace std;
struct TreeNode
{
int val;
TreeNode* left;
TreeNode* right;
};
void MirrorReccursively(TreeNode* root)
{
if (root == nullptr)
{
return;
}
if (root->left == nullptr && root->right == nullptr)
{
return;
}
TreeNode* tempNode = root->left;
root->left = root->right;
root->right = tempNode;
if (root->left)
{
MirrorReccursively(root->left);
}
if (root->right)
{
MirrorReccursively(root->right);
}
}
/*
请完成一个函数,输入一个二叉树,该函数输出它的镜像。
例如输入:
4
/ \\
2 7
/ \\ / \\
1 3 6 9
镜像输出:
4
/ \\
7 2
/ \\ / \\
9 6 3 1
示例 1:
输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]
*/
TreeNode* mirrorTree(TreeNode* root)
{
MirrorReccursively(root);
return root;
}
以上是关于《剑指Offer——二叉树的镜像》代码的主要内容,如果未能解决你的问题,请参考以下文章