uacs2024

导航

2022年11月20日 #

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

2022年11月2日 #

leetcode110-平衡二叉树

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

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

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

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

posted @ 2022-11-02 14:58 ᶜʸᵃⁿ 阅读(21) 评论(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 ᶜʸᵃⁿ 阅读(23) 评论(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 ᶜʸᵃⁿ 阅读(20) 评论(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 ᶜʸᵃⁿ 阅读(14) 评论(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 ᶜʸᵃⁿ 阅读(17) 评论(0) 推荐(0)

2022年10月30日 #

leetcode103-二叉树的锯齿形层序遍历

摘要: 103. 二叉树的锯齿形层序遍历 用两个栈来实现。先把根节点放入第一个栈。循环内部根据哪个栈为空判断新的节点放到哪个栈,确定先左还是先右。当两个栈都为空时,循环结束。 /** * Definition for a binary tree node. * struct TreeNode { * int 阅读全文

posted @ 2022-10-30 13:54 ᶜʸᵃⁿ 阅读(23) 评论(0) 推荐(0)