用树的结构遍历数组 package com.atguigu.datastructures.binarytree object ArrayTreeDemo { def main(args: Array[String]): Unit = { val arr = Array(1,2,3,4,5,6,7) ...
分类:
其他好文 时间:
2020-07-13 11:30:18
阅读次数:
60
Description link 给定一棵二叉树,每个叶子上面有权值,你可以任意交换某个点的两颗子树 使得最后形成的树的中序遍历出来的子树的逆序对最少 \(n \le 2\times10^5\) Solution 如果你真的想做这个题,请耐心手玩样例并看懂这个题神仙一样的输入方式…… 考虑逆序对怎么 ...
分类:
其他好文 时间:
2020-07-13 09:17:09
阅读次数:
52
1 #include <stdio.h> 2 3 void createbtree(int *btree,int *data,int len) 4 { 5 int level; //树的层数 6 int i; 7 8 btree[1] = data[1]; //创建根节点 9 for( i = 2; ...
分类:
编程语言 时间:
2020-07-13 09:16:43
阅读次数:
69
题目链接 https://leetcode-cn.com/problems/binary-tree-preorder-traversal/description/ 题解一:递归 // Problem: LeetCode 144 // URL: https://leetcode-cn.com/prob ...
分类:
其他好文 时间:
2020-07-13 00:00:50
阅读次数:
90
BFS和DFS DFS遍历使用递归(隐式使用栈): void dfs(TreeNode root) { if (root == null) { return; } dfs(root.left); dfs(root.right); } BFS遍历使用队列 void bfs(TreeNode root) ...
分类:
其他好文 时间:
2020-07-12 22:04:02
阅读次数:
66
题目描述: 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉 ...
分类:
其他好文 时间:
2020-07-12 22:03:01
阅读次数:
64
题目描述链接:https://leetcode-cn.com/problems/path-sum-iii/submissions/ 基本思路:此题思路和LeetCode 1367中的二叉树中的列表一题思路基本类似。即同为通过枚举方法实现。对每一个节点进行枚举,查看是否有以改节点为首的路径满足条件。 ...
分类:
其他好文 时间:
2020-07-12 20:36:10
阅读次数:
64
题目描述链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal/ 解题思路:参考官方题解,解题思路如下:对于二叉树的层序遍历,首先应该考虑到的数据结构便是队列,利用队列现进先出的特性,可以很方便的解决此题。 (1)根 ...
分类:
其他好文 时间:
2020-07-12 20:29:04
阅读次数:
65
问题描述 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为: [ [15,7], [9,20], [3]] ...
分类:
其他好文 时间:
2020-07-12 20:24:35
阅读次数:
60
前序中序序列建立二叉树: //in[]和pre[]数组存放二叉树的中序和前序遍历序列 node* build(int preL,int preR,int inL,int inR){ if(preL>preR) return NULL; node* root=(node*)malloc(sizeof( ...
分类:
其他好文 时间:
2020-07-12 16:46:02
阅读次数:
85