给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 例如: 输入: 原始二叉搜索树: 5 / \ 2 13 输出: 转换为累加树: 18 / \ 20 13 O(n) 思路:反序中序遍 ...
分类:
其他好文 时间:
2020-07-09 22:05:47
阅读次数:
73
题目 Given a syntax tree (binary), you are supposed to output the corresponding infix expression, with parentheses reflecting the precedences of the ope ...
分类:
其他好文 时间:
2020-07-08 20:02:44
阅读次数:
64
目录 二分查找 排序的写法 BFS的写法 DFS的写法 回溯法 树 递归 迭代 前序遍历 中序遍历 后序遍历 构建完全二叉树 并查集 前缀树 图遍历 Dijkstra算法 Floyd-Warshall算法 Bellman-Ford算法 最小生成树 Kruskal算法 Prim算法 拓扑排序 查找子字 ...
分类:
其他好文 时间:
2020-07-07 18:08:11
阅读次数:
74
构建二叉树;实现前序、中序、后序遍历;两种删除节点的原则 package com.atguigu.datastructures.binarytree object BinaryTreeDemo { def main(args: Array[String]): Unit = { //先使用比较简单的方 ...
分类:
其他好文 时间:
2020-07-05 23:04:02
阅读次数:
76
问题描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [3 ...
分类:
其他好文 时间:
2020-07-05 18:56:51
阅读次数:
42
题目信息 时间: 2019-07-04 题目链接:Leetcode tag: 二叉树 层序遍历 后序遍历 难易程度:简单 题目描述: 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 示例: 给定二叉树 [3,9,20, ...
分类:
其他好文 时间:
2020-07-05 17:35:56
阅读次数:
68
题目信息 时间: 2019-07-04 题目链接:Leetcode tag:二叉搜索树 中序遍历 递归 难易程度:中等 题目描述: 给定一棵二叉搜索树,请找出其中第k大的节点。 示例1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例2 ...
分类:
其他好文 时间:
2020-07-05 17:35:22
阅读次数:
55
问题描述 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回: [ [5,4,11,2] ...
分类:
其他好文 时间:
2020-07-05 17:10:36
阅读次数:
50
字节跳动的面试官都挺好,面试的内容是我面试那么多家以来最全面的,问题也没有特别刁钻,都比较符合工作场景。 项目很重要,项目是敲门砖也是面试的大头,如果我没有简历上的两个项目的话,估计简历都很难被捞起来,而且进入到3面。 很多面试题都是从项目角度去提问的,而且回答的时候也可以结合项目回答,这个很加分。 ...
分类:
其他好文 时间:
2020-07-04 12:00:27
阅读次数:
80
一、二叉树的深度优先遍历 对于一颗二叉树,深度优先搜索(Depth First Search)是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。 那么深度遍历有重要的三种方法。这三种方式常被用于访问树的节点,它们之间的不同在于访问每个节点的次序不同。这三种遍历分别叫做先序遍历(preorder_t ...
分类:
编程语言 时间:
2020-07-04 01:10:49
阅读次数:
70