LeetCode-树
leetcode里标签为树的题目
我是一名程序媛
这个作者很懒,什么都没留下…
展开
-
116. 填充每个节点的下一个右侧节点指针
2020-05-28 1.题目描述 填充每个节点的下一个右侧节点指针 2.题解 层次遍历即可 3.代码 /* // Definition for a Node. class Node { public: int val; Node* left; Node* right; Node* next; Node() : val(0), left(NULL), right(NULL), next(NULL) {} Node(int _val) : val(_va原创 2020-05-28 20:23:38 · 97 阅读 · 0 评论 -
108. 将有序数组转换为二叉搜索树
2020-05-28 1.题目描述 将有序数组转换为二叉搜索树 2.题解 递归构建二叉树,其中当前范围内的中间的树作为当前的根节点。 3.代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL)原创 2020-05-28 19:39:51 · 101 阅读 · 0 评论 -
105. 从前序与中序遍历序列构造二叉树
2020-05-28 1.题目描述 从前序与中序遍历序列构造二叉树 2.题解 找到前序遍历中的每个值在中序遍历中的位置。 3.代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} *原创 2020-05-28 19:27:57 · 91 阅读 · 0 评论 -
104. 二叉树的最大深度
2020-05-28 1.题目描述 二叉树的最大深度 2.题解 使用递归即可,树的深度等于其左右子树深度的最大值+1,递归结束的条件为当前根节点为空。 3.代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), ri原创 2020-05-28 15:37:59 · 108 阅读 · 0 评论 -
101. 对称二叉树
2020-05-28 1.题目描述 对称二叉树 2.题解 左子树的每一层从左向右遍历,右子树的每一层从右向左遍历,看其对应的节点值是否相同即可。 3.代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right原创 2020-05-28 15:34:17 · 149 阅读 · 0 评论 -
341. 扁平化嵌套列表迭代器
2020-05-24 1.题目描述 扁平化嵌套列表迭代器 2.题解 使用递归即可 3.代码 /** * // This is the interface that allows for creating nested lists. * // You should not implement it, or speculate about its implementation * class NestedInteger { * public: * // Return true if t原创 2020-05-24 17:15:21 · 106 阅读 · 0 评论 -
103. 二叉树的锯齿形层次遍历/102. 二叉树的层序遍历
2020-05-24 1.题目描述 二叉树的锯齿形层次遍历 2.题解 对于层次遍历而言,就是广度优先,由于题目要求奇数层逆序,我们可以 1)使用双端队列,奇偶性不同,则出入队列方式不同。 2)对于偶数节点,可以将当前层所得的结果逆序。 3.代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; *原创 2020-05-24 09:19:04 · 161 阅读 · 0 评论 -
144. 二叉树的前序遍历
2020-05-13 1,题目描述 二叉树的前序遍历 2.题解 可以用递归或者非递归 3.代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Sol原创 2020-05-13 16:14:44 · 127 阅读 · 0 评论 -
173. 二叉搜索树迭代器/94. 二叉树的中序遍历/145. 二叉树的后序遍历/98. 验证二叉搜索树
2020-05-12 1.题目描述 二叉搜索树迭代器 2.题解 对于二叉搜索树而言,进行中序遍历就可以得到其有序序列,我们可以先对树进行遍历,将结果保存在 vector中,然后进行计算即可。 3.代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : va原创 2020-05-12 13:45:07 · 161 阅读 · 0 评论