06 2021 档案
摘要:字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列: 序列中第一个单词是 beginWord 。序列中最后一个单词是 endWord 。每次转换只能改变一个字母。转换过程中的中间单词必须是字典 wordList 中的单词。给你两个单词
阅读全文
摘要:一条基因序列由一个带有8个字符的字符串表示,其中每个字符都属于 "A", "C", "G", "T"中的任意一个。 假设我们要调查一个基因序列的变化。一次基因变化意味着这个基因序列中的一个字符发生了变化。 例如,基因序列由"AACCGGTT" 变化至 "AACCGGTA" 即发生了一次基因变化。 与
阅读全文
摘要:您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 解法一:宽度优先搜索 List<Integer> res = new ArrayList<>(); public List<Integer> largestValues(T
阅读全文
摘要:给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层序遍历结果: [ [3], [9,20], [15,7]] 解法一:宽度优先搜索(队列) jav
阅读全文
摘要:深度优先搜索DFS 递归版 深度优先搜索DFS 迭代版 广度优先搜索
阅读全文
摘要:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce",
阅读全文
摘要:Deque有三种用途:普通队列(一端进另一端出):Queue queue = new LinkedList()或Deque deque = new LinkedList()双端队列(两端都可进出)Deque deque = new LinkedList()堆栈Deque deque = new Li
阅读全文
摘要:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:[3,2,3]输出:3示例 2: 输入:[2,2,1,1,1,2,2]输出:2 解法一:哈希表 public in
阅读全文
摘要:实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。 示例 1: 输入:x = 2.00000, n = 10输出:1024.00000示例 2: 输入:x = 2.10000, n = 3输出:9.26100示例 3: 输入:x = 2.00000, n = -2输出:0.250
阅读全文
摘要:递归状态树 1.分治 def divide_conquer(problem,param1,param2,...): #recursion terminator 1.递归终止条件 if proble is None: print_result return #prepare data 2.处理当前逻辑
阅读全文
摘要:给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums = [1,1,2]输出:[[1,1,2], [1,2,1], [2,1,1]]示例 2: 输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1
阅读全文
摘要:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2: 输入:nums = [0,1]输出:[
阅读全文
摘要:总结:一个题目不要想的很复杂,尽可能的让他很简单,如果程序走向复杂,一方面你的做法错了,另一方面可能是没意义,复杂的程序对自己的程序设计能力没有提高,同时复杂的程序没什么用 根据一棵树的前序遍历与中序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder =
阅读全文
摘要:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 示例 1: 输入:root = [3,5,1,6,2
阅读全文
摘要:给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root = [3,9,20,null,null,15,7]输出:2示例 2: 输入:root = [2,null,3,null,4,null,5,nu
阅读全文
摘要:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。 解法一:深度优先搜索递归版 取左子树
阅读全文
摘要:给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1: 输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \
阅读全文
摘要:1.二叉树是否为空? 2.二叉树当前节点时候为空 3.插入当前节点,需要判断是否为空
阅读全文
摘要:翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1 解法一:前序遍历递归 public TreeNode invertTree(TreeNode root) { invert(root); return root
阅读全文
摘要:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2: 输入:n = 1输出:["()"] 解法一:递归 教会我程序是一步
阅读全文
摘要:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2: 输入: 3输出: 3解释: 有三种方
阅读全文
摘要:递归模板 1.递归终结条件 2.处理当前逻辑 3.下探到下一层 4.清理当前层的全局变量 public void recur(int level,int param) { //terminator递归终止条件 if(level>MAX_LEVEL) { //process result return
阅读全文
摘要:给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。 示例 1: 输入:root = [1,null,3,2,4,null,5,6]输出:[[1],[3,2,4],[5,6]]示例 2: 输入:root =
阅读全文
摘要:给定一个 N 叉树,返回其节点值的 前序遍历 。 N 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 进阶: 递归法很简单,你可以使用迭代法完成此题吗? 示例 1: 输入:root = [1,null,3,2,4,null,5,6]输出:[1,3,5,6,2
阅读全文
摘要:给定一个 N 叉树,返回其节点值的 后序遍历 。 N 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 进阶: 递归法很简单,你可以使用迭代法完成此题吗? 示例 1: 输入:root = [1,null,3,2,4,null,5,6]输出:[5,6,3,2,4
阅读全文
摘要:给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root = [1,null,2,3]输出:[1,2,3]示例 2: 输入:root = []输出:[]示例 3: 输入:root = [1]输出:[1] 解法一:递归求解,按照当前节点,然后前节点,后节点 public
阅读全文
摘要:给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3]输出:[1,3,2]示例 2: 输入:root = []输出:[]示例 3: 输入:root = [1]输出:[1]示例 4: 输入:root = [1,2]输出:[2,1]示例 5:
阅读全文

浙公网安备 33010602011771号