uacs2024

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

11 2022 档案

leetcode563. 二叉树的坡度。
摘要:563. 二叉树的坡度 二叉树大部分题目都可以用递归解决。为了满足一般性,即使题目初试没有的情况,子问题有的,也要考虑。 递归就考虑当前的情况就行了,不要再考虑上一层或者下一层。 下面这个做法是把计算值和、计算坡度分开,时间复杂度n^2,一开始做的时候就一直在想n的情况,就没有写出来。 class 阅读全文

posted @ 2022-11-22 16:28 ᶜʸᵃⁿ 阅读(17) 评论(0) 推荐(0) 编辑

leetcode814. 二叉树剪枝。如果想到使用递归还是很简单的
摘要:814. 二叉树剪枝 有一点疑问,为什么不能先 if(!root->left&&!root->right&&root->val==0) return nullptr; ? class Solution { public: TreeNode* pruneTree(TreeNode* root) { i 阅读全文

posted @ 2022-11-22 15:13 ᶜʸᵃⁿ 阅读(14) 评论(0) 推荐(0) 编辑

leetcode680-验证回文串 II。方法有缺陷,还需要继续琢磨
摘要:680. 验证回文串 II 这个做法就是利用双指针。一个指向第一个字符,一个指向最后一个字符。遇到两个指针指向的字符相同时,一个往前走,一个往后走。 如果遇到不相同,那么就看看是否 s[i+1]==s[j] 或者 s[i]==s[j-1] 。如果是则i+=2或者j-=2,并把标记改为false。 但 阅读全文

posted @ 2022-11-22 10:47 ᶜʸᵃⁿ 阅读(52) 评论(0) 推荐(0) 编辑

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

posted @ 2022-11-20 19:57 ᶜʸᵃⁿ 阅读(19) 评论(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 ᶜʸᵃⁿ 阅读(16) 评论(0) 推荐(0) 编辑

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 ᶜʸᵃⁿ 阅读(2) 评论(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 ᶜʸᵃⁿ 阅读(16) 评论(0) 推荐(0) 编辑

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

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

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

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

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 ᶜʸᵃⁿ 阅读(19) 评论(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 ᶜʸᵃⁿ 阅读(15) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示