首页 > 编程语言 >剑指offer 二叉树的镜像(C++)

剑指offer 二叉树的镜像(C++)

时间:2022-12-19 19:37:48浏览次数:61  
标签:结点 right TreeNode offer pRoot C++ 二叉树 left


问题描述

操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:

二叉树的镜像定义:
源二叉树

8
/ \
6 10
/ \ / \
5 7 9 11

镜像二叉树

8
/ \
10 6
/ \ / \
11 9 7 5

解题思路

1、判断根结点是否为空;

2、将根结点的左右孩子结点指针交换;

3、递归交换根结点的左右孩子结点的孩子结点。

代码实现

/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
class Solution {
public:
void Mirror(TreeNode *pRoot) {
if(pRoot == NULL)
return;
TreeNode* tmp = pRoot->left;
pRoot->left = pRoot->right;
pRoot->right = tmp;
Mirror(pRoot->left);
Mirror(pRoot->right);
}
};


标签:结点,right,TreeNode,offer,pRoot,C++,二叉树,left
From: https://blog.51cto.com/u_15917702/5953708

相关文章

  • LeetCode 两数之和,三数之和,最接近的三数之和,四数之和(C++)
    1.两数之和问题描述给定一个整数数组​​nums​​​和一个目标值​​target​​,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入......
  • LeetCode 有关二叉树的算法题目(C++)
    0、NULL与nullptr的区别在C语言中,​​NULL​​​通常被定义为:​​#defineNULL((void*)0)​​​。因为在C语言中把空指针赋给​​int​​​和​​char​​​指针的时候,发......
  • 剑指offer 题解目录(C++)
    序号题目知识点难度1​​二维数组中的查找​数组查找较难2​​替换空格​字符串较难3​​从尾到头打印链表​链表较难4​​重建二叉树​树中等5​​用两个栈实现队列......
  • C++实现checksum校验和计算
    校验和概念差错控制编码是为了检查传输中的错误下面将一个报文的数据部分称为d,报文的冗余部分称为r发送方根据约定好的差错控制编码关系(关系指出dr之间的关系)和d生成出......
  • C++查看变量类型
    转自:https://blog.csdn.net/Koyurion/article/details/863155321.用法#include<typeinfo>//需要包含头文件typeid(data).name()//打印值:bool:......
  • C++_数组-结构体-枚举-联合体
    C++1.相同类型的数据01.C++数组(array)是一种顺序容器sequencecontainer,是由单一数据类型元素组成的一个有序集合元素类型元素个数数组名称使用......
  • C++ Assert()断言机制原理以及使用
    机器学习以及人工智能的学习需要扎实的数学功底才能走的更远,爬的更高,所以打好数学基础是关键,但无论工作学习都没有充足的时间去拿着书本一个字一个字的去学习了,这里我建议大......
  • 【C++入门】(三)循环结构
    一.while循环循环版的if语句。if语句是判断一次,如果条件成立,则执行后面的语句while是每次判断,如果成立,则执行循环体中的语句,否则停止#include<iostream>using......
  • C++ Primer Plus第三章(操作数据)笔记
    简单变量程序为了将信息储存在计算机中,程序必须记录3个基本属性:信息将储存在哪要存储什么值存储什么类型的信息我们可以利用代码来看看程序到底做了什么:intbrainc......
  • 老男孩教育 | 98年0基础转行,三个月时间,收获满意Offer!
    没有好学历,也没有一技之长,该如何实现人生逆袭?其实想要逆袭成功并不是一件困难的事情,难的是走向成功的过程,无论你是否有学历、是否有一技之长,只要不敢于平庸你也可......