01 2022 档案
摘要:验证回文字符串 Ⅱ 题目:验证回文字符串 Ⅱ 给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 示例 : 输入: s = "abca" 输出: true 解释: 你可以删除c字符。 题解 方法一:贪心 class Solution { public boolean validPa
阅读全文
摘要:验证回文串 题目: 验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 示例 : 输入: "A man, a plan, a canal: Panama" 输出: true 解释:"amanaplanacanalpanama" 是回文串 题解:双指针 cla
阅读全文
摘要:回文链表 题目:回文链表 给定一个链表的 头节点 head ,请判断其是否为回文链表。 如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。 示例: 输入: head = [1,2,3,3,2,1] 输出: true 题解 方法一:双指针 class Solution1 { publ
阅读全文
摘要:Json与Object转换 依赖jar包:fastjson <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.75</version> </dependency> Ob
阅读全文
摘要:DSL索引库操作 1. 创建索引库 PUT /索引名称 { "mappings": { "properties": { "字段名1":{ "属性": "属性值", }, "字段名2":{ "properties": { "子字段名":{ "属性":"属性值" } } } } } } 2.查询索引库
阅读全文
摘要:重排链表 题目:重排链表 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → … 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例
阅读全文
摘要:反转链表 题目:反转链表 给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。 示例: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 题解:递归 原链表:1->2->3->4->5 假设3,4,5已经翻转: 则翻转2: 2.next.next=2; 2
阅读全文
摘要:idea建立SpringBoot聚合项目 建立父项目——HelloMQ 配置父项目pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http
阅读全文
摘要:字符串查找 题目:字符串查找 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。 输入: source = "abcdabcdefg" target = "bcd" 输出
阅读全文
摘要:字符串的排列 题目:字符串的排列 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s = "abc" 输出:["abc","acb","bac","bca","cab","cba"] 题解:回溯 class Solution
阅读全文
摘要:组合总和 题目:组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以
阅读全文
摘要:K数和II 题目:K数和II 给定n个不同的正整数,整数k(1<=k<=n1<=k<=n)以及一个目标数字。在这n个数里面找出K个数,使得这K个数的和等于目标数字,你需要找出所有满足要求的方案 样例 : 输入: 数组 = [1,2,3,4] k = 2 target = 5 输出: [[1,4],[
阅读全文
摘要:单词搜索 II 题目:单词搜索 II 给定一个 m x n 二维字符网格 board 和一个单词(字符串)列表 words,找出所有同时在二维网格和字典中出现的单词。 单词必须按照字母顺序,通过 相邻的单元格 内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一
阅读全文
摘要:二叉树的直径 题目:二叉树的直径 给定一颗二叉树,您需要计算树的直径长度。 二叉树的直径是树中任意两个节点之间最长路径的长度。 给定一棵二叉树 1 / \ 2 3 / \ 4 5 返回3, 这是路径[4,2,1,3] 或者 [5,2,1,3]的长度. 示例: 输入:[2,3,#,1] 输出:2 解释
阅读全文
摘要:二叉搜索树的第k大节点 题目:二叉搜索树的第k大节点 给定一棵二叉搜索树,请找出其中第 k 大的节点的值。 示例: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1 输出: 4 题解:dfs 右根左遍历二叉树 class
阅读全文
摘要:二叉树中的最大路径和 题目:二叉树中的最大路径和 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和是任意两点之间路径中各节点值的总和。 示例: 输入:root = [-
阅读全文
摘要:被围绕的区域 题目:被围绕的区域 给你一个 m x n 的矩阵 board ,由若干字符 'X' 和 'O' ,找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。 示例: 输入:board = [["X","X","X","X"],["X",&quo
阅读全文
摘要:旅行商问题 题目:旅行商问题 给 n 个城市(从 1 到 n),城市和无向道路成本之间的关系为3元组 [A, B, C](在城市 A 和城市 B 之间有一条路,成本是 C)我们需要从1开始找到的旅行所有城市的付出最小的成本。 一个城市只能通过一次。 你可以假设你可以到达所有的城市 示例: 输入: n
阅读全文
摘要:旅行商问题 题目:旅行商问题 给 n 个城市(从 1 到 n),城市和无向道路成本之间的关系为3元组 [A, B, C](在城市 A 和城市 B 之间有一条路,成本是 C)我们需要从1开始找到的旅行所有城市的付出最小的成本。 一个城市只能通过一次。 你可以假设你可以到达所有的城市 示例: 输入: n
阅读全文
摘要:全排列II 题目:全排列 II 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例: 输入:nums = [1,1,2] 输出: [[1,1,2], [1,2,1], [2,1,1]] 题解:DFS class Solution { public void dfs(
阅读全文
摘要:全排列 一、题目:全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 二、题解:DFS 全排列
阅读全文
摘要:子集II 题目:子集 II 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。 示例: 输入:nums = [1,2,2] 输出:[[],[1],[1,2],[1,2,2],[2],[2,
阅读全文
摘要:所有子集 题目:所有子集 返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 : 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 题解 子集的个数:2n, 每个节点选(0
阅读全文
摘要:整合SSM MVC框架:SpringMVC 持久层框架:注解Mybatis 整体框架:Spring 以查询所有User信息为例,SSM通用的实现步骤: 一、创建配置文件 1.导入依赖的jar包:spring、springmvc、mybatis、jstl、mysql、c3p0等 <dependency
阅读全文
摘要:解决注解Mybatis注入多个参数时报错 问题:当使用注解Mybatis注入多个参数时,报错 @Insert("insert into user_role values(#{uid},#{rid})") void saveUserRole(int uid, int rid); 报错信息: org.a
阅读全文
摘要:统计唯一值子树个数 题目:统计唯一值子树个数 给定一棵二叉树,统计唯一值子树的数目.唯一值子树意味着子树的所有节点都具有相同的值. 示例: 输入: root = {5,1,5,5,5,#,5} 输出: 4 解释: 5 / \ 1 5 / \ \ 5 5 5 题解 1. BFS+DFS BFS遍历每个
阅读全文
摘要:验证二叉搜索树中的前序序列 题目:验证二叉搜索树中的前序序列 给定一组数字,验证它是否是二叉搜索树的正确的前序遍历序列。 示例1: 输入: preorder = [1,3,2] 输出: true 示例2: 输入:preorder=[4,2,1,3,6,5,7] 输出:true 题解 方法1:分治法
阅读全文
摘要:Tomcat加载问题 修改了一个类的名字,使用idea自动修改这个类的名字,修改完之后就报错: Artifact storage:war exploded: Error during artifact deployment. See server log for details 解决方法1:重新生成
阅读全文
摘要:对象作为函数的参数 当对象作为函数的参数传递到方法中时,实际上传递的是对象的地址值。 1. 以传递TreeNode对象为例,root传递给change函数的是root的地址值。 public static void change(TreeNode node) { } public static vo
阅读全文
摘要:删除二叉搜索树中的节点 题目:删除二叉搜索树中的节点 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 示例 1: 输入:root = [5,3,6,2,4,null,7], k
阅读全文
摘要:分治法在二叉树的应用 二叉树 每个节点最多有两个子树的树结构。 二叉树的高度: O(logN)~O(N)之间 二叉树的时间复杂度: 时间复杂度:O(一次的复杂度)*次数 空间复杂度:O(一次的复杂度+深度) 分治法 将问题分解为子问题求解,自己将子问题的结果进行合并,求出最终解。 二叉树中分治法的应
阅读全文
摘要:二叉搜索树中最接近的值 II 题目:二叉搜索树中最接近的值 II 给定一棵非空二叉搜索树以及一个target值,找到 BST 中最接近给定值的 k 个数。 示例: 输入: {3,1,4,#,2} 0.275000 2 输出: [1,2] 解释: 二叉树 {3,1,4,#,2},表示如下的树结构: 3
阅读全文
摘要:二叉搜索树中最接近的值 题目:二叉搜索树中最接近的值 给一棵非空二叉搜索树以及一个target值,找到在BST中最接近给定值的节点值 示例: 输入: root = {5,4,9,2,#,8,10} and target = 6.124780 输出: 5 解释: 二叉树 {5,4,9,2,#,8,10
阅读全文
摘要:二叉搜索树的第k大节点 题目:二叉搜索树的第k大节点 给定一棵二叉搜索树,请找出其中第 k 大的节点的值。 示例: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 题解 方法1:分治法 class Solution { int step, r
阅读全文
摘要:最近公共祖先 III 题目:最近公共祖先 III 给一棵二叉树和二叉树中的两个节点,找到这两个节点的最近公共祖先LCA。返回 null 如果两个节点在这棵树上不存在最近公共祖先的话。 注意: 这两个节点未必都在这棵树上出现。 每个节点的值都不同 示例: 输入: {4, 3, 7, #, #, 5,
阅读全文
摘要:二叉搜索树的最近公共祖先I 题目:二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 示例: 输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8 输出: 6 解释: 节点 2 和节点 8 的最近公共祖先是
阅读全文
摘要:最小子树 题目:最小子树 给一棵二叉树, 找到和为最小的子树, 返回其根节点。 示例: 输入: {1,-5,2,1,2,-4,-5} 输出:1 说明 这棵树如下所示: 1 / \ -5 2 / \ / \ 1 2 -4 -5 整颗树的和是最小的,所以返回根节点1. 题解:分治法 public cla
阅读全文