![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
进阶吧小白
这个作者很懒,什么都没留下…
展开
-
leetcode.703(数据流中第K大元素)
题目: 设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中的初始元素。每次调用 KthLargest.add,返回当前数据流中第K大的元素。 示例: int k = 3; int[] arr = [4,5,8,2]; KthLargest kthLa...原创 2019-11-12 21:27:36 · 91 阅读 · 0 评论 -
leetcode.116.117(填充每个节点的下一个右侧节点指针I II)
题目描述: 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有 next 指针都被设置为 N...原创 2019-11-01 13:56:21 · 93 阅读 · 0 评论 -
LeetCode. 236 (二叉树的最近公共祖先)
Q:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4] 示例 1: 输入: root = [3,5,1...原创 2019-03-09 20:48:16 · 102 阅读 · 0 评论 -
C++生成二叉树VS调试示例 leetcode.297(二叉树的序列化和反序列化)
在写LeetCode题时,有时候会遇到一些问题,想要逐步了解一下输出结果。 这个时候就要在VS里面进行调试了。 这里主要记录的是在VS里生成一个二叉树。然后就可以进行相应的调试了 字符串生成二叉树: 这个方法主要借鉴下面这篇文章: leetcode小函数, 根据字符串生成二叉树 //输入字符串 [1,2,3,4,5] #include<vector> #include <io...原创 2019-10-29 19:23:23 · 545 阅读 · 1 评论 -
LeetCode.105,106,889(前序,中序,后序构造二叉树) (递归和非递归)
题目描述: 根据树的三种遍历方式中任意两种方式的组合(前序,中序,后序)进行二叉树的构造。 方法一:递归 答题模板: class Solution { public: TreeNode* creattree(vector<int>&xxx,vector<int>&yyy,int left1,int right1,int left2,int right...原创 2019-10-26 17:26:52 · 95 阅读 · 0 评论 -
不同遍历顺序构造二叉树
题目如下:106.从中序和后序遍历构造二叉树 方法一:使用递归 使用迭代器,通过数组的索引来确定根节点的位置。进一步将数分治到其左右子树继续递归。 class Solution { public: TreeNode* creattree(vector<int>::iterator left1,vector<int>::iterator right1,vector&...原创 2019-10-08 13:42:30 · 128 阅读 · 0 评论