输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 这道题本质是用递归对二叉树的前序遍历,即从上到下,从左到右对树的每一条路径的遍历,因此遍历完一条路径后,要做好遍历下一条路径的准备工作,即把最后一个节 ...
分类:
其他好文 时间:
2020-04-28 00:34:52
阅读次数:
51
面试题5 从尾到头打印单链表 题目描述: 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 解题思路:链表的每个元素由两部分组成,元素值和下一个元素的地址,输入一个链表,开始指针指向第一个节点,操作完一个节点接着将指针指向第二个节点,将元素值保存在列表中,逆序操作是list[:: 1] ...
分类:
编程语言 时间:
2020-04-28 00:14:08
阅读次数:
77
145.二叉数的后序遍历 给定一个二叉树,返回它的 后序 遍历。 示例: 输入: [1,null,2,3] 1 \\ 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 后序遍历的概念 后序遍历就是先遍历左子树,然后遍历右子树,然后访问根节点。 递归实现 先左子树 ...
分类:
其他好文 时间:
2020-04-27 17:04:50
阅读次数:
55
144.二叉数的前序遍历 给定一个二叉树,返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 前序遍历的概念 前序遍历就是先访问根节点,然后遍历左子树,然后遍历右子树。 递归实现 先root ...
分类:
其他好文 时间:
2020-04-27 13:14:14
阅读次数:
34
一、思维导图: 二、重要概念: 1、二叉树的五种基本形态: 2、前、中、后序遍历: 1.1前序遍历 根节点 左子树 右子树 1.2中序遍历 左子树 根节点 右子树 1.3后序遍历 左子树 右子树 根节点 2、ASL计算: 如图所示的二叉排序树,其成功的平均查找长度是 ; 不成功的平均查找长度是 。 ...
分类:
编程语言 时间:
2020-04-26 21:14:49
阅读次数:
70
解题思路:入栈顺序即为前序,出栈顺序为中序,等价于求由前序和中序确定后序 #include <stdio.h> #include <string.h> #include <malloc.h> typedef char Element[5]; typedef struct TNode { int da ...
分类:
其他好文 时间:
2020-04-23 21:11:36
阅读次数:
103
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 分析 显然根据前序 中序求二叉树要用递归来做 1.前 ...
分类:
其他好文 时间:
2020-04-22 22:57:26
阅读次数:
68
1 //空节点的个数 = 非空节点个数 + 1 2 class Solution 3 { 4 vector<string> res; 5 void spilt(string s,char c) 6 { 7 istringstream iss(s); 8 string temp; 9 while(ge ...
分类:
其他好文 时间:
2020-04-21 22:26:34
阅读次数:
87
从前序与中序遍历序列构造二叉树。题意是给一个二叉树的前序遍历和中序遍历,请根据这两个遍历,把树构造出来。例子, For example, given preorder = [3,9,20,15,7] inorder = [9,3,15,20,7] Return the following binar ...
分类:
其他好文 时间:
2020-04-21 13:31:31
阅读次数:
65
参考网址: https://visualgo.net/zh/bst?slide=1 树 二叉树的 前序遍历 中序遍历 后序遍历 n叉树的 前序遍历 后序遍历 n叉树的层序遍历 // 二叉树的 前序遍历class Solution { public List<Integer> preorderTrav ...
分类:
其他好文 时间:
2020-04-20 17:35:47
阅读次数:
86