LeetCode
gapostal
这个作者很懒,什么都没留下…
展开
-
LeetCode思路(一):938、804、977、620、942、175、1051
938.二叉搜索树的范围和1)整体思路:利用二叉搜索树的中序遍历2)具体步骤:定义一个全局变量sum,用来求和(1)定义一个全局变量sum,用来求和(2)若根节点值等于左边界L,则sum加上L,递归遍历右子树,左边界L变为L+1,右边界R不变。(3)若根节点值等于右边界R,则sum加上R,递归遍历左子树,右边界R变为R-1,左边界L不变。(4)若根节点值小于左边界L,...原创 2019-09-29 10:41:57 · 124 阅读 · 0 评论 -
LeetCode思路(二):590、589、700、905、627、961、933、929
590. N叉树的后序遍历分析1)递归调用,退出条件:遍历到叶节点,对应实现是子节点为02)如果是叶结点,则直接将值塞入输出的vector3)如果是分枝结点,则在做完叶结点之后,将值塞入输出vector589. N叉树的前序遍历分析1)递归调用,退出条件:遍历到根节点,对应的实现是根节点为空2)先将当前点的val塞入输出的vector3)再遍历其子节点,调...原创 2019-09-29 11:07:54 · 98 阅读 · 0 评论 -
LeetCode思路(三):944、559、509、908、965、1002、181、999、922、108
944. 删列造序理解题目意思:就是单个字符比较,如果前面的大于后面的,则结果加一,并且开始比较第二行559. N叉树的最大深度1)算出每个子结点的最大深度,取其中最大一个2)总结点深度=子节点深度+1509. 斐波那契数递归调用1)退出条件N==0,return 0N==1,return 12)递归公式fib(N-1) + fib(N-2)...原创 2019-09-29 11:19:47 · 207 阅读 · 0 评论 -
LeetCode思路(四):1025、349、682、206、762、429、1078、669、183、107
1025. 除数博弈该题目需要找到规律:偶数返回true,奇数返回false349. 两个数组的交集涉及到数组去重以及排序使用set来解决(元素已去重,元素已排序)注意set的插入以及遍历682. 棒球比赛1)涉及到vector的使用元素插入:push_back元素删除:score_tmp.erase(score_tmp.end() - 1);2...原创 2019-09-29 11:27:42 · 160 阅读 · 0 评论 -
LeetCode:112. 路径总和
[思路]:1. if(NULL == root) return false;2. 如果左节点不为NULL,则需要顺着左节点继续判断,其中需要将期望值进行修改:int sum_tmp = sum - root->val;3. 右节点情况同左节点一致4. 如果已经是叶节点,则需要判断当前节点的值和当前期望值是否一致,一致返回true5. 其他场景都返回false[代码]:...原创 2019-10-11 09:16:14 · 145 阅读 · 0 评论 -
LeetCode:141. 环形链表
[思路]:两个指针,一个每次移一位,一个每次移两位,如果存在两个指针地址相同的情况,则表示存在环[代码实现]:bool hasCycle(ListNode *head) { if(NULL == head) return false; ListNode* node1 = head; ListNode* node2 = h...原创 2019-10-11 09:27:49 · 140 阅读 · 0 评论