树
文章平均质量分 95
Perrysky
喜欢编程
展开
-
Leetcode96.不同的二叉搜索树(中等)C++ 递归 动态规划
题目描述:96. 不同的二叉搜索树给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树:1 3 3 2 1\ / / / \ 3 2 1 1 3 2/ / \ 2 1 2原创 2020-12-17 22:24:53 · 169 阅读 · 0 评论 -
Leetcode98.验证二叉搜索树(中等)C++ 数组 递归 迭代
题目描述:98. 验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:2/ 1 3输出: true示例 2:输入:5/ 1 4/ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。根节点的值为 5 ,但是其右子节点值为 4 。思路描述:首先一原创 2020-12-17 20:20:19 · 207 阅读 · 3 评论 -
Leetcode 429. N叉树的层次遍历(中等) 队列实现层次遍历 C++
题目描述:给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。例如,给定一个3叉树:返回其层序遍历:[ [1], [3,2,4], [5,6]]说明:树的深度不会超过1000。树的节点总数不会超过5000。思路:首先用一个队列来存储每一个树结点。通过两层循环,第一层用来保证队列不空,即能够遍历所有...原创 2020-04-20 15:25:10 · 241 阅读 · 0 评论 -
Leetcode110. 平衡二叉树(简单)DFS 递归法
题目描述:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null...原创 2020-04-20 14:50:47 · 172 阅读 · 0 评论 -
Leetcode 559. N 叉树的最大深度(简单)C语言 递归法、DFS、BFS 三种解法
题目描述:给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如,给定一个3叉树:我们应返回其最大深度,3。说明:树的深度不会超过1000。 树的节点总不会超过5000。思路:1、递归法/** * Definition for a Node. * struct Node { * ...原创 2020-04-18 11:22:37 · 358 阅读 · 0 评论 -
Leetcode 104. 二叉树的最大深度(简单) 递归思路
题目描述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3思路:很好理解如果一棵二叉树,左子树深度为LD,右子树深度为...原创 2020-04-18 09:36:15 · 127 阅读 · 0 评论 -
Leetcode 101. 对称二叉树(简单)递归 和 迭代
题目描述:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3进阶:你可以运用递归和迭代...原创 2020-04-16 12:07:22 · 226 阅读 · 1 评论 -
Leetcode 100.相同的树 (简单) 递归
题目描述:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1...原创 2020-04-16 11:37:13 · 134 阅读 · 0 评论 -
Leetcode 144. 二叉树的前序遍历(中等) 递归法和非递归法
题目描述:给定一个二叉树,返回它的前序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,2,3]进阶:递归算法很简单,你可以通过迭代算法完成吗?思路:常规的递归和非递归,看代码即可。递归法/** * Definition for a binary tree node. * struct...原创 2020-04-11 18:04:31 · 194 阅读 · 0 评论 -
Leetcode 102. 二叉树的层序遍历(中等) 层次遍历
题目描述:给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]思路:常规的层次遍历思路,建立一个队列(内存优化可以...原创 2020-04-10 22:44:20 · 175 阅读 · 0 评论 -
Leetcode 94. 二叉树的中序遍历(中等)递归与非递归(迭代)
题目描述:给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶:递归算法很简单,你可以通过迭代算法完成吗?思路:1、常规的中序递归法void traverse(TreeNode* root) { if(root != NULL) {...原创 2020-04-10 21:06:47 · 206 阅读 · 0 评论