05 2021 档案
摘要:题目: 思路: 递归遍历 在将结果按树的顺序展开,left 放空,right放数据 (一)代码 递归 递归
阅读全文
摘要:题目: 思路: 由题分析出公式 f(x) = f(x - 1) + f(x - 2); (一) 代码 more and more
阅读全文
摘要:题目: 请判断一个链表是否为回文链表。 思路: 使用链表放入元素 从两边同时移出比较 效率较低 (一)代码 你是星河
阅读全文
摘要:题目: 翻转一棵二叉树。 思路: 递归 -- 将问题抽象到最简单的情况去想,之后就是一层套一层 => 递归 似乎见到树的题目,基本可以往 递归 的思路去靠了 还有就是BFS , DFS 前中后序遍历,基本就可以拿下树的题目了 (一) 代码 往来有鸿儒,谈笑有无白丁
阅读全文
摘要:题目: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 思路: 双指针 1 一个指针 单步向后遍历 2 一个指针 进行交换后单步走 (一)代码 天天刮大风
阅读全文
摘要:题目: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 思路: 按照题意分析,我们只需找到出现次数最多的一个数字就可以 运用HashMap key 存元素 , value 存出现的
阅读全文
摘要:题目: 思路: 双指针,向后走 如果有一个为空了,就将其置为另一个链表 (一)代码 双指针 双指针 方法!!
阅读全文
摘要:题目: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 思路: 1 深度优先 递归 每次加一 , 出口条件为root == null 2 广度优先 使用队列 入队 出队 (一)代码 深度优先-递归 DFS (二)代码 广度优先 BFS 一定得好好努力那 买
阅读全文
摘要:题目 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回
阅读全文
摘要:题目: 给定一个二叉树,检查它是否是镜像对称的。 思路: 递归 (一) 代码 递归 递归 啦啦啦
阅读全文
摘要:题目: 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 思路: 采用递归 (一)代码 中序遍历如下 ,前序和后续,只需调整顺序即可 什么样的终点才是。。。。
阅读全文
摘要:题目: 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 思路: 动态规划转移方程(累加前面的数,和当前数相比,求max) f(i)=max{f(i−1)+nums[i],nums[i]} (一)代码 人生不过一场旅行
阅读全文
摘要:题目: 给一非空的单词列表,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。 思路: 运用HashMap key 存字符 , value 存次数 Collections 进行排序 最后截取0 , k 范围的数据,即可返回 (
阅读全文
摘要:题目 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 思路: 从后向前遍历 +1 后 对10 取余数并赋值 如果不为0 即返回数组,如果数组全为0了,需要新
阅读全文
摘要:题目: 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y 。 只有与值 x 和 y 对应的节点是堂
阅读全文
摘要:题目: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 思路: 一个for循环搞定 边界为 数组中的元素 >= target for 循环完成后没有找到 就是在最后一位 返回数组的length即可
阅读全文
摘要:题目: 实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。 思路: 1 暴力匹配 2 KMP 算法 (一)暴力匹配代码 1 for - f
阅读全文
摘要:题目: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 思路: 定义一个listnode 作为最后返回的节点 将此listnode 赋值给一个node 进行运算 注意: 合并后,最多还剩一个没有合并 (一)代码 挣钱挣钱那
阅读全文
摘要:题目: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 思路: 用map 先将 () {} [] 放入map中 右括号作为key 左括号作为value 再用栈的
阅读全文
摘要:题目: 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor ... xor arr[Ri])作为本次查询的结果。
阅读全文
摘要:题目: 给你一个整数数组 perm ,它是前 n 个正整数的排列,且 n 是个奇数 。 它被加密成另一个长度为 n - 1 的整数数组 encoded ,满足 encoded[i] = perm[i] XOR perm[i + 1] 。比方说,如果 perm = [1,3,2] ,那么 encode
阅读全文
摘要:题目: 思路: 将两个tree的叶子节点放入list , 用equal 比较 两个list 是否相等 放入list的方法中:如果node.left == null && node.right == null 就是叶子节点 (一) 代码 好好生活
阅读全文
摘要:(一)传统bean 的生命周期 在传统的java 应用中,bean 的生命周期很简单。使用Java关键字new 进行实例化, 然后bean 就可以使用了, 一旦该bean 不再被使用,则由Java自动进行垃圾回收。 (二)Spring 的生命周期 Spring 容器中的bean的生命周期就显得相对复
阅读全文

浙公网安备 33010602011771号