uacs2024

导航

2022年11月20日 #

leetcode96-不同的二叉搜索树

摘要: 96. 不同的二叉搜索树 首先,二叉搜索树的基本性质:对于某个结点,若有左孩子,那么它的左孩子比它小。若有右孩子,那么右孩子比它大。 这里的dp[n]数组表示从1,...,n可以构成多少个二叉搜索树。 sum+=(dp[j]*dp[i-j-1]),以求解dp[10]为例 表示 顶点左边0个结点,右边 阅读全文

posted @ 2022-11-20 19:57 ᶜʸᵃⁿ 阅读(29) 评论(0) 推荐(0)

leetcode343-数拆分。还需要继续琢磨

摘要: 343. 整数拆分 这道题的关键点在于下面这两个式子。比如要计算dp【10】,就逐个比较1*dp【9】,2*dp【8】,3*dp【7】,还有1*9,2*8,3*7,才考虑了所有的情况 如果使用 dp[i]=max(dp[i],dp[j]*(i-j)); dp[i]=max(dp[i],j*(i-j) 阅读全文

posted @ 2022-11-20 17:16 ᶜʸᵃⁿ 阅读(29) 评论(0) 推荐(0)

2022年11月3日 #

leetcode404-左叶子之和。没写出来,还要再看看

摘要: 404. 左叶子之和 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nu 阅读全文

posted @ 2022-11-03 15:17 ᶜʸᵃⁿ 阅读(8) 评论(0) 推荐(0)

leetcode257-二叉树的所有路径

摘要: 257. 二叉树的所有路径 泪目,自己写出的递归遍历. /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() 阅读全文

posted @ 2022-11-03 13:56 ᶜʸᵃⁿ 阅读(25) 评论(0) 推荐(0)

2022年11月2日 #

leetcode110-平衡二叉树

摘要: 110. 平衡二叉树 这道题很容易联想到 104. 二叉树的最大深度 的做法。一开始做的时候就知道可以用递归,但是又想到了左右子树的高度相差不大于1,但是子树的子树相差大于1的情况,就开始往这方面多想了。 看了别人的题解才知道,左右子树相差大于1确实可以直接判断为false。 至于子树的子树的情况就 阅读全文

posted @ 2022-11-02 16:27 ᶜʸᵃⁿ 阅读(23) 评论(0) 推荐(0)

leetcode222-完全二叉树的节点个数

摘要: 222. 完全二叉树的节点个数 这道题如果要最快,就要充分利用完全二叉树的性质。甚至还有二分查找法,还没怎么认真看 利用树的深度判断是否为完全二叉树。若是,直接公式得出节点数。 class Solution { public: int countNodes(TreeNode* root) { if( 阅读全文

posted @ 2022-11-02 14:58 ᶜʸᵃⁿ 阅读(26) 评论(0) 推荐(0)

2022年11月1日 #

leetcode101-对称二叉树(这题并不简单,但leetcode标记为了简单题)

摘要: 101. 对称二叉树 首先是自己写的BFS /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val( 阅读全文

posted @ 2022-11-01 16:21 ᶜʸᵃⁿ 阅读(25) 评论(0) 推荐(0)

leetcode111-二叉树的最小深度

摘要: 111. 二叉树的最小深度 这道题相比 104. 二叉树的最大深度 还是难上一些的,但也不算太难。 BFS /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * Tree 阅读全文

posted @ 2022-11-01 13:48 ᶜʸᵃⁿ 阅读(25) 评论(0) 推荐(0)

2022年10月31日 #

leetcode429-N 叉树的层序遍历

摘要: 429. N 叉树的层序遍历 BFS非递归,自己写的。 /* // Definition for a Node. class Node { public: int val; vector<Node*> children; Node() {} Node(int _val) { val = _val; 阅读全文

posted @ 2022-10-31 16:40 ᶜʸᵃⁿ 阅读(18) 评论(0) 推荐(0)

leetcode199-二叉树的右视图

摘要: 199. 二叉树的右视图 这道题BFS很容易想到。但DFS没想出来。 这是BFS vector<int> rightSideView(TreeNode* root) { if(root==nullptr) return {}; queue<TreeNode*> qqq; vector<int> re 阅读全文

posted @ 2022-10-31 15:38 ᶜʸᵃⁿ 阅读(22) 评论(0) 推荐(0)