二叉树结构
RPG_Zero
春日雨,夏蝉鸣,明天是个好天气。
秋风起,雪花轻,海底看不见四季。
展开
-
LeetCode 二叉树遍历 递归 & 迭代 栈+空指针
@[TOC]二叉树遍历二叉树的递归遍历二叉树的前中后遍历其实就是中间节点的遍历顺序。递归三要素:确定递归函数的参数与返回值//无需返回值//需要知道当前节点,以及一个用于保存遍历结果的vector数组void traversal(TreeNode* cur, vector<int>& vec)确定终止条件if (cur == NULL) return;确定单层递归的处理逻辑//以前序遍历为例vec.push_back(cur->val);原创 2022-01-21 16:34:13 · 428 阅读 · 0 评论 -
LeetCode 102 二叉树的层次遍历 层次遍历模板题目 队列bfs & 递归dfs
题目链接解法一:BFS模板题,借助于队列AC代码:class Solution {public: vector<vector<int>> levelOrder(TreeNode* root) { // bfs queue<TreeNode*> que; vector<vector<int>> res; if(root!=nullptr) que.push(root)原创 2022-01-19 16:16:15 · 240 阅读 · 0 评论 -
算法竞赛入门经典 UVA 699 下落的树叶
题目链接题目大意:给一棵二叉树,每个结点都有一个水平位置:左子结点在它左边1个单位,右子结点在右边1个单位。按照递归(先序)方式输入,用-1代表空树。从左向右输出每个水平位置的所有结点的权值之和。Sample Input5 7 -1 6 -1 -1 3 -1 -18 2 9 -1 -1 6 5 -1 -1 12 -1 -1 3 7 -1 -1 -1-1Sample OutputC...原创 2019-09-03 15:51:32 · 247 阅读 · 0 评论 -
算法竞赛入门经典 UVA 839 天平树
题目链接题目大意:输入一个树状天平,根据力矩相等原则(力臂乘质量)判断是否平衡。所谓力矩相等,就是w1d1=w2d2。按照递归(先序)方式输入,每个天平的格式为w1,d1,w2,d2,若输入的W(质量)为0,则说明该“砝码”是个子天平,接下来会描述该子天平。Sample Input10 2 0 40 3 0 11 1 1 12 4 4 21 6 3 2Sample Outpu...原创 2019-09-03 15:16:45 · 460 阅读 · 0 评论 -
算法竞赛入门经典 UVA Tree 中后序建树+DFS
题目链接You are to determine the value of the leaf node in a given binary tree that is the terminal node of a path of least value from the root of the binary tree to any leaf. The value of a path is the...原创 2019-09-03 14:38:16 · 190 阅读 · 0 评论 -
二叉搜索树 九度教程第36题 判断两颗二叉树是否相同
题目链接判断两序列是否为同一二叉搜索树序列输入描述:开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。输出描述:如果序列相同则输...原创 2019-09-02 21:57:03 · 316 阅读 · 0 评论 -
二叉排序树 九度教程第35题 二叉排序树的构建与遍历
题目链接来源:牛客网输入一系列整数,建立二叉排序树,并进行前序,中序,后序遍历。输入描述:输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。输出描述:可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个空格。输入中可能有重复元素,但是输出的...原创 2019-09-02 20:24:26 · 294 阅读 · 0 评论 -
树查找 九度教程第34题 完全二叉树的性质
题目链接有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。输入描述:输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。输出描述:输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。示例1输入41 2 3 42输出2 3考察知识点:完全二...原创 2019-09-02 16:57:48 · 484 阅读 · 0 评论 -
二叉树九度教程第33题
题目链接考点:完全二叉树的性质AC代码:#include<iostream>#include<stdio.h>#include<algorithm>using namespace std;int d(int x) {//返回层次 int tmp = 1; while (x > 1) { tmp++; x /= 2; } ret...原创 2019-09-02 16:32:46 · 254 阅读 · 0 评论 -
二叉树遍历 九度教程第32题 由二叉树的前序遍历与中序遍历确定该二叉树
添加链接描述二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树; 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树; 后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。 给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确定后序遍历)。输入描述:两个字符串,其长度n...原创 2019-09-02 15:01:02 · 237 阅读 · 0 评论 -
算法竞赛入门经典 UVA 679 Dropping Balls 二叉树的编号
题目链接题目大意:一棵完全二叉树,最大深度为D,所有结点从上到下从左到右编号为1,2,3,…,2D-1 在结点1处放一个小球,它会往下落。每个内结点上都有一个开关,初始状态全为关,球经过开关,开关状态改变。每个球从根结点往下掉,若开关关闭,则往左走,否则往右走。现有t个小球依次向下落,求最后一个小球落在了哪个叶子结点上。Sample Input54 23 410 12 28 12...原创 2019-09-02 10:48:52 · 197 阅读 · 0 评论