题目: 解法: 广度优先遍历就好。 1 /* 2 // Definition for a Node. 3 class Node { 4 public: 5 int val; 6 vector<Node*> children; 7 8 Node() {} 9 10 Node(int _val) { 1 ...
分类:
其他好文 时间:
2020-05-03 13:02:57
阅读次数:
80
typedef struct LinkNode{ //链式队列结点 int data; struct LinkNode *next; }LinkNode; typedef struct{ //链式队列 LinkNode *front,*rear; //队列头指针和尾指针 }LinkQueue; vo ...
分类:
其他好文 时间:
2020-05-02 22:44:19
阅读次数:
51
leetcode "199. 二叉树的右视图" 因为某些比赛导致三天没写编程题,回来之后发现自己好像啥都不会了,写每一题都要花费好长时间/_ \ 牢骚结束:二叉树的遍历一般用dfs或者bfs,dfs一般用于前中后序遍历,bfs一般用于层序遍历 方法一:这一题最直观的解法就是得到二叉树的层序遍历,然后 ...
分类:
其他好文 时间:
2020-04-22 16:17:55
阅读次数:
61
参考网址: https://visualgo.net/zh/bst?slide=1 树 二叉树的 前序遍历 中序遍历 后序遍历 n叉树的 前序遍历 后序遍历 n叉树的层序遍历 // 二叉树的 前序遍历class Solution { public List<Integer> preorderTrav ...
分类:
其他好文 时间:
2020-04-20 17:35:47
阅读次数:
86
题目描述: 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 返回其层次遍历结果: 示例:二叉树:[3,9,20,null,null,15,7], 思想: 访问过程中,只需要将同一层中的节点同时入队列即可。在将该queue中所有元素出队列的同时,将下一层的 ...
分类:
其他好文 时间:
2020-04-18 15:44:30
阅读次数:
63
问题描述: 代码描述: 1 #include<cstdio> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<queue> 5 #define MAXN 256 6 using namespace std; 7 char s[MAXN+10] ...
分类:
其他好文 时间:
2020-04-16 13:15:50
阅读次数:
56
1.什么是队列 [1] 队列只允许在表的前端(front)进行删除操作,且在表的后端(rear)进行添加操作; [2] 队列是“先进先出”,进行插入操作的后端称为队尾rear,进行删除操作的前端称为队首front; [3] 队列的种类:顺序队列和循环队列。 [4] 队列同栈一样,即能利用数组实现(线 ...
分类:
其他好文 时间:
2020-04-13 22:25:28
阅读次数:
73
环形队列优先队列 二叉树两种存储方式:链表,数组 二叉查找树:左子树比根节点大,右子树比根节点小二叉树自平衡 遍历深度优先遍历(前序,中序,后序)(递归实现,或者是栈,能用递归的都可以用栈)广度优先遍历(层序遍历)(用队列实现) 二叉堆:要求根节点比左右节点大,是一种特殊的完全二叉树,用数组存储最大 ...
分类:
其他好文 时间:
2020-04-11 23:31:37
阅读次数:
81
题目描述 :输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 解法 1: 递归 递归的写法非常直观。对于一棵二叉树来说,它的高度等于左右子树的高度最大值,加上 1。 代码实现如下: 解法 2: 层序遍历 按照二叉树的“层 ...
分类:
编程语言 时间:
2020-04-09 10:33:52
阅读次数:
74
要求 对二叉树进行层序遍历 实现 1 Definition for a binary tree node. 2 struct TreeNode { 3 int val; 4 TreeNode *left; 5 TreeNode *right; 6 TreeNode(int x) : val(x), ...
分类:
其他好文 时间:
2020-04-07 09:36:40
阅读次数:
53