随笔分类 - 刷题记录
摘要:701. 二叉搜索树中的插入操作 思路: \(dfs\)。 代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeN
阅读全文
摘要:145. 二叉树的后序遍历 思路: \(dfs\) 代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(
阅读全文
摘要:113. 路径总和 II 思路: \(dfs\) 代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(i
阅读全文
摘要:106. 从中序与后序遍历序列构造二叉树 思路: 根据后序遍历的最后一个元素是根的性质逐步构造出二叉树。 代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * T
阅读全文
摘要:Aerodynamic 思路: 判断一个图形是否是中心对称图形。 \(n\) 是奇数,显然不行。 \(n\) 是偶数。找出对应点对的中心。如果是对称的,那么一定会相交于一点。 代码: int n; cin >> n; vector<PII> point(n + 1); vector<PDD> cen
阅读全文
摘要:Anu Has a Function 思路: \(f(x, y) = x | y - y\)。将 \(x, y\) 对齐。那么结果就是:如果 \(y\) 的第 \(i\) 是 $1$,那么把 \(x\) 的第 \(i\) 位变为 $0$(无论之前是什么)。那么根据这个性质可以发现,改变的都是第 $1
阅读全文
摘要:1. 两数之和 思路: 暴力遍历 代码: class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { int lenNums = nums.size(); int a, b; for(int i = 0;
阅读全文
摘要:题目链接 A - Decrease the Sum of Digits 思路: 记录以下到那个位置会大于 \(s\),然后前一个位置的数加一,之后的全部变为零即可。 注意特判到某个位置刚好等于 \(s\) 的情况。 代码: int main(){ int t; cin >> t; while(t -
阅读全文

浙公网安备 33010602011771号