971. 翻转二叉树以匹配先序遍历
给定一个有 N
个节点的二叉树,每个节点都有一个不同于其他节点且处于 {1, ..., N}
中的值。
通过交换节点的左子节点和右子节点,可以翻转该二叉树中的节点。
考虑从根节点开始的先序遍历报告的 N
值序列。将这一 N
值序列称为树的行程。
(回想一下,节点的先序遍历意味着我们报告当前节点的值,然后先序遍历左子节点,再先序遍历右子节点。)
我们的目标是翻转最少的树中节点,以便树的行程与给定的行程 voyage
相匹配。
如果可以,则返回翻转的所有节点的值的列表。你可以按任何顺序返回答案。
如果不能,则返回列表 [-1]
。
示例 1:
输入:root = [1,2], voyage = [2,1]
输出:[-1]
示例 2:
输入:root = [1,2,3], voyage = [1,3,2]
输出:[1]
示例 3:
输入:root = [1,2,3], voyage = [1,2,3]
输出:[]
提示:
1 <= N <= 100
971. 翻转二叉树以匹配先序遍历相关推荐
- LeetCode 971. 翻转二叉树以匹配先序遍历(DFS)
1. 题目 给定一个有 N 个节点的二叉树,每个节点都有一个不同于其他节点且处于 {1, -, N} 中的值. 通过交换节点的左子节点和右子节点,可以翻转该二叉树中的节点. 考虑从根节点开始的先序遍历 ...
- leetcode971. 翻转二叉树以匹配先序遍历
leetcode971. 翻转二叉树以匹配先序遍历 这道题的说明还没有题目清晰,所以不粘题内容了. 思路 前序遍历,遇到当前节点和对应的voyage值不相等的时候,返回false. 并且看当前节点的左 ...
- 【leetcode 971】 翻转二叉树以匹配先序遍历
题意: 给定一个先序遍历序列,给出一棵树,问能否通过翻转改树的某些左右子节点,使得该树的先序遍历序列等于给定的先序遍历序列 思路: 很基础的题目了,就是先序遍历一下,如果在这个节点的左子节点的值不等于 ...
- leetcode971. 翻转二叉树以匹配先序遍历(dfs)
给定一个有 N 个节点的二叉树,每个节点都有一个不同于其他节点且处于 {1, -, N} 中的值. 通过交换节点的左子节点和右子节点,可以翻转该二叉树中的节点. 考虑从根节点开始的先序遍历报告的 N ...
- 二叉树非递归先序遍历
二叉树的递归先序遍历很简单,假设二叉树的结点定义如下: 1 struct BinaryTreeNode 2 { 3 int m_nValue; 4 BinaryTreeNode* m_pLeft; 5 ...
- 二叉树建立及中序遍历C++语言实现
二叉树建立及中序遍历C++语言实现: #include<stdio.h> #include<stdlib.h> typedef struct node{//二叉树结点数据结构定 ...
- 栈的亚特兰数与二叉树的前序中序遍历序列
栈的亚特兰数与二叉树的前序中序遍历 @(算法学习) 已经熟知的是二叉树的中序遍历和先序遍历可以唯一确定一棵树. 更有趣的知识点是,以先序遍历序列作为入栈序列,那么出栈序列恰为中序遍历.这样就把两种遍历 ...
- 二叉树前中后序遍历的非递归实现以及层次遍历、zig-zag型遍历详解
前言 二叉树的遍历是一个比较常见的问题,递归实现二叉树的前中后序遍历比较简单,但非递归实现二叉树的前中后序遍历相对有难度.这篇博客将详述如何使用非递归的方式实现二叉树的前中后序遍历,在进行理论描述的同 ...
- 二叉树,二叉树的归先序遍历,中序遍历,后序遍历,递归和非递归实现
二叉树,二叉树的归先序遍历,中序遍历,后序遍历,递归和非递归实现 提示:今天开始,系列二叉树的重磅基础知识和大厂高频面试题就要出炉了,咱们慢慢捋清楚! 文章目录 二叉树,二叉树的归先序遍历,中序遍历, ...
最新文章
- java基础学习(2)-java基本数据类型
- 中国工程院谭建荣:人工智能应用得再好,最核心的算法不行,创新能力就不行丨MEET2021...
- 直流UPS供电系统在数据中心机房中的应用分析
- 2016-03-09c中指针与数组学习记录
- python 下字符串格式时间比较
- unity3D游戏开发实战原创视频讲座系列7之消消乐游戏开发
- IntelliJ IDEA License Activation系列验证爆错: This license BIG3CLIK6F has been cancelled d 解决
- Android自定义View【实战教程】4⃣️----BitmapShader详解及圆形、圆角、多边形实现
- java内存泄露 垃圾回收_Java面试中底层垃圾回收、代码安全、内存泄露
- C语言小程序-学生成绩统计系统
- SWAT模型中土壤水文分组的一些思考
- 希望自己活成什么样的人
- 滴滴天使投资人的25条创业建议
- User Browsing Model简介
- 什么手势使用电子计算机比较快,手势功能
- 权限管理需要哪几张表
- 【心慈喜讯】“心”启航青少年心理健康支持项目成功入选广州市海珠区“慈泉杯”社会组织公益创投活动
- TSC打印机使用教程终极版
- DSA-数据签名算法(理论)
- 该如何选择Java开发和嵌入式开发