上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 67 下一页
摘要: 我们从根节点开始,递归地对树进行遍历,并从叶子节点先开始翻转得到镜像。 如果当前遍历到的节点 root 的左右两棵子树都已经翻转得到镜像,那么我们只需要交换两棵子树的位置,即可得到以 root 为根节点的整棵子树的镜像。 /** * Definition for a binary tree node 阅读全文
posted @ 2021-07-23 12:37 Dazzling! 阅读(28) 评论(0) 推荐(0)
摘要: 代码分为两个部分: 遍历树A中的所有非空节点R; 判断树A中以R为根节点的子树是不是包含和树B一样的结构,且我们从根节点开始匹配; 对于第一部分,我们直接递归遍历树A即可,遇到非空节点后,就进行第二部分的判断。 对于第二部分,我们同时从根节点开始遍历两棵子树: 如果树B中的节点为空,则表示当前分支是 阅读全文
posted @ 2021-07-23 11:41 Dazzling! 阅读(29) 评论(0) 推荐(0)
摘要: 二路归并。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ clas 阅读全文
posted @ 2021-07-23 11:14 Dazzling! 阅读(13) 评论(0) 推荐(0)
摘要: 快慢指针。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ clas 阅读全文
posted @ 2021-07-23 10:51 Dazzling! 阅读(14) 评论(0) 推荐(0)
摘要: 双指针。 class Solution { public: vector<int> exchange(vector<int>& nums) { int n = nums.size(); int i = 0, j = n - 1; while (i < j) { while (i < j && num 阅读全文
posted @ 2021-07-23 10:31 Dazzling! 阅读(24) 评论(0) 推荐(0)
摘要: 快速幂。 class Solution { public: double qpow(double x, long long n) { double res = 1; while (n) { if (n & 1) res *= x; x = x * x; n >>= 1; } return res; 阅读全文
posted @ 2021-07-21 20:27 Dazzling! 阅读(26) 评论(0) 推荐(0)
摘要: 方法一:动态规划 对于的正整数 \(n\),当 \(n \ge 2\) 时,可以拆分成至少两个正整数的和。令 \(k\) 是拆分出的第一个正整数,则剩下的部分是 \(n-k\),\(n-k\) 可以不继续拆分,或者继续拆分成至少两个正整数的和。由于每个正整数对应的最大乘积取决于比它小的正整数对应的最 阅读全文
posted @ 2021-07-21 12:49 Dazzling! 阅读(211) 评论(0) 推荐(0)
摘要: DFS。 class Solution { public: int n, m; int single_sum(int x) { int res = 0; while (x) { res += x % 10; x /= 10; } return res; } int sum(int x, int y) 阅读全文
posted @ 2021-07-21 11:21 Dazzling! 阅读(19) 评论(0) 推荐(0)
摘要: 回溯法。 class Solution { public: int n, m; int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1}; bool check(int x, int y) { return x >= 0 && x < n && y >= 0 阅读全文
posted @ 2021-07-21 10:46 Dazzling! 阅读(23) 评论(0) 推荐(0)
摘要: 一个包含重复元素的升序数组在经过旋转之后,可以得到下面可视化的折线图: 其中横轴表示数组元素的下标,纵轴表示数组元素的值。图中标出了最小值的位置,是我们需要查找的目标。 我们考虑数组中的最后一个元素 x:在最小值右侧的元素,它们的值一定都小于等于 x;而在最小值左侧的元素,它们的值一定都大于等于 x 阅读全文
posted @ 2021-07-20 20:29 Dazzling! 阅读(23) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 67 下一页