A.遍历二叉树是以一定的规则将二叉树中的结点排列成一个线性序列(DLR、LDR、LRD、DRL、RLD、RDL),这实质上是对非线性结构进行线性化操作。 B.将二叉树线索化能够不用递归,通过找到后继来线性地遍历二叉树 C.前驱、后继的信息是在动态遍历的过程中才知道的,需要保存下来,而n个结点的二叉链 ...
分类:
其他好文 时间:
2021-04-05 12:06:37
阅读次数:
0
二叉树的遍历 前序遍历 LeetCode.144. 二叉树的前序遍历 二叉树的前序/中序/后序遍历的非递归描述一般适合用深度优先搜索 (DFS, depth-first search), 并使用栈的数据结构. 版本1 递归 from typing import List class Node: de ...
分类:
其他好文 时间:
2021-04-05 11:47:20
阅读次数:
0
一.二叉树的前序遍历 https://leetcode-cn.com/problems/binary-tree-preorder-traversal/ class Solution { public List<Integer> preorderTraversal(TreeNode root) { L ...
分类:
其他好文 时间:
2021-04-01 13:41:51
阅读次数:
0
难度 easy 翻转一棵二叉树。 示例: 输入: 4 / 2 7 / \ / 1 3 6 9 输出: 4 / 7 2 / \ / 9 6 3 1 备注: 这个问题是受到 Max Howell 的 原问题 启发的 : 解题思路:这道题比较简单,就是用递归的方式求解的,如果root是空节点或者没有子节点 ...
分类:
其他好文 时间:
2021-04-01 13:37:05
阅读次数:
0
1 class Solution { 2 private: 3 int maxSum = INT_MIN; 4 5 public: 6 int maxGain(TreeNode* node) { 7 if (node == nullptr) { 8 return 0; 9 } 10 11 // 递归 ...
分类:
其他好文 时间:
2021-04-01 13:30:06
阅读次数:
0
看到返回List就好奇试了一下 List<List<Integer>> res = new List<>(); 结果果然还是不行的。 这道题的思路很好 理解,先序遍历将当前节点值添加进路径。 如果符合一条路径的标准就在res存做一个答案。 遍历到null就返回到上一层,然后会有一个removeLas ...
分类:
其他好文 时间:
2021-04-01 13:22:02
阅读次数:
0
堆结构的内部是以数组实现,表现形式为一个完全二叉树,对应关系上,上级节点的下标始终等于直接下级节点的下标(任意一个)除2的除数,下级节点的坐标左孩子为上级坐标的位置2+1,右孩子为上级坐标的位置2+2,这个条件始终满足 如下代码就是一个简易的堆结构实现 using System; namespace ...
分类:
Web程序 时间:
2021-04-01 12:52:33
阅读次数:
0
非递归前序遍历二叉树 1 void preTraverse(const BiTree &T){ 2 //initialStack(stack) 3 BiTree stack[MAX]; 4 int top=-1; 5 BiTree p=T; 6 //while(!stackEmpty(stack)| ...
分类:
其他好文 时间:
2021-03-31 12:27:44
阅读次数:
0
如果一个在根节点,另一个在其子树,返回root没毛病。 如果不是同时大于或小于,因为二叉搜索树性质,会分别在两边,返回root没毛病。 如果同时在一边,则当前节点不会是最近公共祖先,往子树递归,没毛病。 *注意要写3个return 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 /** ...
分类:
其他好文 时间:
2021-03-31 11:34:14
阅读次数:
0
给定一个二叉树的根节点 root ,返回它的 中序 遍历。使用递归、迭代、染色(迭代的另一种方法)三种方法实现。 ...
分类:
其他好文 时间:
2021-03-30 13:06:22
阅读次数:
0