A.遍历二叉树是以一定的规则将二叉树中的结点排列成一个线性序列(DLR、LDR、LRD、DRL、RLD、RDL),这实质上是对非线性结构进行线性化操作。 B.将二叉树线索化能够不用递归,通过找到后继来线性地遍历二叉树 C.前驱、后继的信息是在动态遍历的过程中才知道的,需要保存下来,而n个结点的二叉链 ...
分类:
其他好文 时间:
2021-04-05 12:06:37
阅读次数:
0
今天写了一下acwing的题目,感觉自己之前对递归没有一个很好的理解,现在写了这几题就有了更好的理解了。 就我而言,递归就是一层一层的调用自己,也就是将层数减少,到最少就不能调用自己了,也就是结束了调用。 解法一: 用二进制枚举每一位。从1到2的n次方,将其转化为二进制,二进制上的第i位是1,就代表 ...
二叉树的遍历 前序遍历 LeetCode.144. 二叉树的前序遍历 二叉树的前序/中序/后序遍历的非递归描述一般适合用深度优先搜索 (DFS, depth-first search), 并使用栈的数据结构. 版本1 递归 from typing import List class Node: de ...
分类:
其他好文 时间:
2021-04-05 11:47:20
阅读次数:
0
1.链接代码 char* my_strcat(char* dist, const char* src) { if (dist == nullptr || src == nullptr) { return dist; } char* cp = dist; while (*cp != '\0') { + ...
分类:
其他好文 时间:
2021-04-05 11:42:36
阅读次数:
0
Fib(n)=Fib(n-1)+Fib(n-2);Fib1=Fib2=1; ##递归 public static int fibonacci(int n){ if (n == 1 || n == 2) { return 1; } if (n > 2) { return fibonacci(n - 1 ...
分类:
编程语言 时间:
2021-04-02 13:35:33
阅读次数:
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
递归函数 函数的递归调用: 是函数嵌套调用的一种特殊形式。 具体指的是在调用一个函数的过程中又直接或者间接的调用了自己,称之为函数的递归调用。 函数的递归调用就是一个循环的过程,用函数来实现循环 def f1(): print('from f1') f1() f1() # 函数默认调用1000次 d ...
分类:
其他好文 时间:
2021-04-01 13:41:29
阅读次数:
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
非递归前序遍历二叉树 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