摘要:
题目: 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 * * 完全二叉树 * 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h * 层,则该层包含 1~ 2^h 个节点。 思路: 阅读全文
摘要:
题目: 首先,现在有一种数据结构 NestedInteger,这个结构中存的数据可能是一个 Integer 整数,也可能是一个 NestedInteger 列表。注意,这个列表里面装着的是 NestedInteger,也就是说这个列表中的每一个元素可能是个整数,可能又是个列表,这样无限递归嵌套下去… 阅读全文
摘要:
题目: 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 * * 请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / * 反序列化算法执行逻辑,你只需要保证 阅读全文
摘要:
1373. 二叉搜索子树的最大键值和(困难) 思路:labuladong 题目: 给你一棵以 root 为根的 二叉树 ,请你返回 任意 二叉搜索子树的最大键值和。 * * 二叉搜索树的定义如下: * 任意节点的左子树中的键值都 小于 此节点的键值。 * 任意节点的右子树中的键值都 大于 此节点的键 阅读全文
摘要:
思路:labuladong 96. 不同的二叉搜索树(简单) 题目:给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: * 输入:n = 3 * 输出:5 * 示例 2: * 输入:n = 1 * 输出:1 阅读全文
摘要:
思路:labuladong 基本框架 void BST(TreeNode root, int target) { if (root.val == target) // 找到目标,做点什么 if (root.val < target) BST(root.right, target); if (root 阅读全文
摘要:
思路:labuladong 二叉搜索树中序遍历为有序数组,利用该特性进行中序遍历,并在遍历时记录rank值,当rank等于k时输出val class Solution { public: int kthSmallest(TreeNode* root, int k) { traverse(root,k 阅读全文
摘要:
寻找重复的子树 - 力扣(LeetCode)leetcode-cn.com/problems/find-duplicate-subtrees/description/ 题目描述: 给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。 两棵树重复是指它们具 阅读全文
摘要:
* 返回与给定的前序和后序遍历匹配的任何二叉树。 * * pre 和 post 遍历中的值是不同的正整数。 * 示例: * * 输入:pre = [1,2,4,5,3,6,7], post = [4,5,2,6,7,3,1] * 输出:[1,2,3,4,5,6,7] * 提示: * * * 1 <= 阅读全文
摘要:
输入:n——点的个数,a:double的点的角度。 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <iostream> 4 #include <vector> 5 #include <array> 6 #include <list> 7 阅读全文