返回顶部
首页 > 资讯 > 精选 >Java编程求二叉树的镜像两种方法介绍
  • 871
分享到

Java编程求二叉树的镜像两种方法介绍

java二叉树镜像递归 2023-05-30 21:05:27 871人浏览 安东尼
摘要

给出一棵二叉树,求它的镜像,如下图:右边是二叉树是左边二叉树的镜像。仔细分析这两棵树的特点,看看能不能总结出求镜像的步骤。这两棵树的根节点相同,但他们的左右两个子节点交换了位置。因此我们不妨先在树中交换根节点的两个子节点,就得到了下面一幅图

给出一棵二叉树,求它的镜像,如下图:右边是二叉树是左边二叉树的镜像。

Java编程求二叉树的镜像两种方法介绍

仔细分析这两棵树的特点,看看能不能总结出求镜像的步骤。这两棵树的根节点相同,但他们的左右两个子节点交换了位置。因此我们不妨先在树中交换根节点的两个子节点,就得到了下面一幅图中的第二颗树

解法1(递归)

思路1:如果当前节点为空,返回,否则交换该节点的左右节点,递归的对其左右节点进行交换处理。

public static void mirrorTree(Treenode root)  {if(root==null)      return;//交换该节点指向的左右节点。TreeNode temp=root.left;root.left=root.right;root.right=temp;//对其左右孩子进行镜像处理。mirrorTree(root.left);mirrorTree(root.right);}

--结束END--

本文标题: Java编程求二叉树的镜像两种方法介绍

本文链接: https://lsjlt.com/news/221312.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java编程求二叉树的镜像两种方法介绍
    给出一棵二叉树,求它的镜像,如下图:右边是二叉树是左边二叉树的镜像。仔细分析这两棵树的特点,看看能不能总结出求镜像的步骤。这两棵树的根节点相同,但他们的左右两个子节点交换了位置。因此我们不妨先在树中交换根节点的两个子节点,就得到了下面一幅图...
    99+
    2023-05-30
    java 二叉树镜像 递归
  • java二叉树的数据插入算法介绍
    目录例题:对于二叉树的遍历有三种方式二叉树插入数据的原理/思路是什么?代码实现整体代码全部代码例题: leetcode 第701题 二叉树插入数据 题目: 给定二叉搜索树(BST)的...
    99+
    2024-04-02
  • Java 讲解两种找二叉树的最近公共祖先的方法
    目录思路一:先假设这棵树是二叉搜索树思路二:假设该树是用孩子双亲表示法思路一:先假设这棵树是二叉搜索树 首先我们补充说明一下什么是二叉搜索树: 在二叉搜索树中,对于每一个节点来说,他...
    99+
    2024-04-02
  • php二叉树的遍历以及进行逻辑操作的方法介绍
    本篇内容主要讲解“php二叉树的遍历以及进行逻辑操作的方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php二叉树的遍历以及进行逻辑操作的方法介绍”吧!首先,我们还是要说明一下,我们学习的...
    99+
    2023-06-20
  • Java完全二叉树的创建与四种遍历方法分析
    本文实例讲述了Java完全二叉树的创建与四种遍历方法。分享给大家供大家参考,具体如下:有如下的一颗完全二叉树:先序遍历结果应该为:1  2  4  5  3  6  7中序遍历结果...
    99+
    2023-05-30
    java 二叉树 ava
  • Python编程实现双链表,栈,队列及二叉树的方法示例
    本文实例讲述了Python编程实现双链表,栈,队列及二叉树的方法。分享给大家供大家参考,具体如下: 1.双链表 class Node(object): def __init__(self, valu...
    99+
    2022-06-04
    队列 示例 链表
  • Java编程中避免equals方法的隐藏陷阱介绍
    摘要本文描述重载equals方法的技术,这种技术即使是具现类的子类增加了字段也能保证equal语义的正确性。在《Effective Java》的第8项中,Josh Bloch描述了当继承类作为面向对象语言中的等价关系的基础问题,要保证派生类...
    99+
    2023-05-30
    java equal ava
  • Java线程池的几种实现方法和区别介绍实例详解
    下面通过实例代码为大家介绍Java线程池的几种实现方法和区别:import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;...
    99+
    2023-05-31
    java 线程池 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作