LeetCode
qq_42325416
这个作者很懒,什么都没留下…
展开
-
LeetCode 102.对称二叉树(Java,递归法,非递归法)
题目描述原创 2020-08-13 17:38:03 · 141 阅读 · 0 评论 -
LeetCode 96.不同的二叉搜索树(Java,动态规划、卡塔兰数)
题目描述 解法1-动态规划 解题思路:给定一个有序序列1⋯n1\cdots n1⋯n,为了构建一棵二叉树,我们可以遍历每个数字 iii,将该数字作为树根,然后将1⋯(i−1)1\cdots (i-1)1⋯(i−1)作为根结点的左子树,将(i+1)⋯n(i+1)\cdots n(i+1)⋯n作为根结点的右子树。由于每次遍历根结点是不同的,所以可以保证构造的每棵二叉树都是唯一的。 定义两个函数: G(n)G(n)G(n):长度为nnn的序列能构造的不同二叉树的个数; F(i,n)F(i,n)F(i,n):以原创 2020-08-05 17:07:10 · 131 阅读 · 0 评论 -
LeetCode 94.二叉树的中序遍历(Java,递归法,非递归法,莫里斯遍历)
题目描述 解法1-递归法 解题思路:递归法的思路比较简单,就是先遍历左子树,然后访问根结点,然后再遍历右子树。 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { pri原创 2020-08-05 15:35:07 · 325 阅读 · 0 评论 -
LeetCode 98.验证二叉搜索树(Java,递归法,中序遍历法)
文章目录题目描述解法1-递归法解法2-中序遍历法 题目描述 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 解法1-递归法 解题思路:根据二叉搜索树的特点我们可以知道,根结点的左子树的所有结点的值都小于根结点的值,即根结点的值是左子树值的上界;根结点的右子树的所有结点的值都大于根结点的值,即根结点的值是左子树值的下界。受此启发,我们可以设计一个函原创 2020-08-06 17:23:59 · 200 阅读 · 0 评论