前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【剑指offer】5.二叉树的镜像和打印

【剑指offer】5.二叉树的镜像和打印

作者头像
ConardLi
发布2019-09-08 14:41:44
发布2019-09-08 14:41:44
40200
代码可运行
举报
文章被收录于专栏:code秘密花园code秘密花园
运行总次数:0
代码可运行

导读:

分类:技术干货

题目:二叉树的遍历和重建

一起重温《剑指offer》,再也不怕手写算法啦!

二叉树简介

基本结构:

代码语言:javascript
代码运行次数:0
运行
复制
function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
}

二叉树的前序、中序、后序遍历的定义:

前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树;

中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树;

后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。

题目1 二叉树的镜像

1.1 题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。

代码语言:javascript
代码运行次数:0
运行
复制
输入描述:
二叉树的镜像定义:源二叉树 
            8
           /  \
          6   10
         / \  / \
        5  7 9 11
        镜像二叉树
            8
           /  \
          10   6
         / \  / \
        11 9 7  5

1.2 解题思路

递归交换二叉树两棵字树的位置。

1.3 代码

代码语言:javascript
代码运行次数:0
运行
复制
function Mirror(root)
{
    if(root){
        const temp = root.right;
        root.right = root.left;
        root.left = temp;
        Mirror(root.right);
        Mirror(root.left);
    }
}

题目2 从上往下打印二叉树

2.1 题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

2.2 解题思路

1.借助队列先进先出的数据结构

2.让二叉树每层依次进入队列

3.依次打印队列中的值

2.3 代码

代码语言:javascript
代码运行次数:0
运行
复制
function PrintFromTopToBottom(root) {
      const queue = [];
      const print = [];
      if(root != null){
        queue.push(root);
      }
      while (queue.length > 0) {
        const current = queue.shift();
        print.push(current.val);
        if (current.left) {
          queue.push(current.left);
        }
        if (current.right) {
          queue.push(current.right);
        }
      }
      return print;
    }
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 code秘密花园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二叉树简介
  • 题目1 二叉树的镜像
    • 1.1 题目描述
    • 1.2 解题思路
    • 1.3 代码
  • 题目2 从上往下打印二叉树
    • 2.1 题目描述
    • 2.2 解题思路
    • 2.3 代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档