`

【100题】第十五题(树的镜像问题)

 
阅读更多

一,题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归循环两种方法完成树的镜像转换。
例如输入:
8
/ \
6 10
/ \ / \
5 7 9 11

输出:
8
/ \
10 6
/ \ / \
11 9 7 5

定义二元查找树的结点为:
struct BSTreeNode // a node in the binary search tree (BST)
{
int m_nValue; // value of node
BSTreeNode *m_pLeft; // left child of node
BSTreeNode *m_pRight; // right child of node
};

二,分析:

采用递归方法,比较简单。主要是采用循环方法时候采用压栈的方式来模拟递归

三,源码(递归):

源码(循环):




分享到:
评论

相关推荐

    完整学习笔记:《剑指offer》Java版代码实现

    第十五题 找链表中倒数第K个节点 测试15 第十六题 食品链表 测试16 第十七题 合并两个小区链表 测试17 第十八题 判断二叉树A中是否包含子树B 测试18 第十九题 二叉树的镜像 测试19 第二十题 顺时针打印矩阵 测试20 ...

    剑指offer之python实现

    面试题15 链表中倒数第k个结点 面试题16 反转链表 面试题17 合并两个排序的链表 面试题18 树的子结构 第4章 解决面试题思路 4.2 画图让抽象问题形象化 面试题19 二叉树的镜像 面试题20 顺时针打印矩阵 4.3 举例让...

    javalruleetcode-play-leetcode:用程序解决leetcode的算法问题

    面试题15 二进制中1的个数 面试题16 数值的整数次方 面试题17 打印从1到最大的n位数 面试题18 删除链表的节点 面试题19 正则表达式匹配 面试题20 表示数值的字符串 面试题21 调整数组顺序使奇数位于偶数前面 面试题...

    世界500强面试题.pdf

    第一篇 面试题 ................................................................................ 8 1.1. 简介 ................................................................................................

    新编Pro.ENGINEER野火版3.0入门与提高.pdf

    中文名: 新编Pro/ENGINEER野火版3.0入门与提高 作者: 神龙工作室 资源格式: PDF 版本: 扫描版 出版社: 人民邮电出版社书号: 9787115186850发行时间: 2008年10月1日 ...第15章 浇注系统、水线以及辅助功能

    vc++ 开发实例源码包

    使用了六个类五个模块类演示了atl的调用方法 class CDHtmlSinkHandler; // Events Sink Base class CDHtmlEventSink; // IHTMLDocument2 Events Sink // IDispatch class CDHtmlControlSink; // ActiveX Control ...

    solidworks200

    1.2.2 FeatureManager设计树 10 1.2.3 SolidWorks的文件操作 11 1.2.4 常用工具栏 15 1.3 操作环境设置 23 1.3.1 工具栏的设置 23 1.3.2 设置系统选项 25 1.3.3 设置文件属性 31 1.4 获取帮助信息 36 1.5 练习题 38 ...

    leetcode分类-nowcoder:牛客网学习,包括剑指offer,程序员面试金典,leetcode,公司模拟真题,数据结构等

    15链表中倒数第k个结点 16反转链表 17合并两个排序的链表 18树的子结构 19二叉树的镜像 20顺时针打印矩阵 21包含min函数的栈 22栈的压入弹出序列 23从上往下打印二叉树 24二叉搜索树的后序遍历序列 25二叉树中和为某...

    丢失的最小正整数leetcode-Java_DataStructure:Java的数据结构和算法的学习

    ,每题尽量都用不同的方法解答 1、牛客网《剑指offer》二刷(二刷结束) 2、LeetCode (持续练习中,为了速度都是.java文件,不再写Markdown文件) 1、牛客网《剑指offer》二刷(二刷结束) 1、二维数组的查找 2、替换...

    Leetcode扑克-LeetCode_Java:力扣_Java

    Leetcode扑克 LeetCode_Java 访问 src/xxxx/Solution.java 已完成 LC70_爬楼梯_动态规划 剑指03_数组中的重复数字_哈希表 剑指06_从尾到头打印链表_链表 ...剑指54_二叉搜索树第K大的节点_二叉搜索树

    vc++ 应用源码包_6

    Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件。 VC断点续传源代码 从fnMyDownload开始,程序首先解析输入的...

    vc++ 应用源码包_5

    Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件。 VC断点续传源代码 从fnMyDownload开始,程序首先解析输入的...

    vc++ 应用源码包_1

    Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件。 VC断点续传源代码 从fnMyDownload开始,程序首先解析输入的...

    vc++ 应用源码包_2

    Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件。 VC断点续传源代码 从fnMyDownload开始,程序首先解析输入的...

    vc++ 应用源码包_3

    Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件。 VC断点续传源代码 从fnMyDownload开始,程序首先解析输入的...

    JAVA上百实例源码以及开源项目源代码

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    JAVA上百实例源码以及开源项目

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

Global site tag (gtag.js) - Google Analytics