【LeetCode】236. 二叉树的最近公共祖先1.问题给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自 2023-05-13 算法LeetCode 算法 二叉树 数据结构 Java DFS
【LeetCode】637. 二叉树的层平均值1.问题给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1"在这里插入图片描述" 输入:root = [3,9,20,null,null,15,7]输出 2023-05-12 算法LeetCode 算法 二叉树 数据结构 Java DFS BFS
【LeetCode】297. 二叉树的序列化与反序列化1.问题序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化。这里不限定 2023-05-07 算法LeetCode 算法 二叉树 数据结构 Java DFS BFS
【LeetCode】106. 从中序与后序遍历序列构造二叉树1.问题给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1"" 输入:inorder = [9,3,1 2023-05-07 算法LeetCode 算法 二叉树 数据结构 Java DFS
【LeetCode】105. 从前序与中序遍历序列构造二叉树1.问题给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 示例 1"示例 1" 输入: preorder = [3, 2023-05-07 算法LeetCode 算法 二叉树 数据结构 Java DFS
【Hexo】基于Fluid主题的Hexo增加相册功能实践本文是基于Hexo 6.3.0, Fluid 1.9.4进行开发,主要借鉴于hexo的fluid主题添加瀑布流懒加载相册功能,其中基于jsDelivr+Github 实现免费CDN加速可以参考这篇文章搭建自己的CDN。 1.创建相册页面 在 2023-05-06 HexoHexo博客 Fluid 相册
【Hexo】Hexo基于Fluid主题固定背景图片本文基于Fluid主题,设置固定背景。 博客的根目录为 ~/blog,主题解压位置为 ~/blog/themes/fluid 接下来创建三个文件 一、创建 injector.js 文件进入 ~/blog/themes/fluid/scrip 2023-05-02 HexoHexo Fluid
【多线程】ThreadPoolExcutor线程池一、Executors创建线程池1.newFixedThreadPool先来看看源码中是怎么构造的: public static ExecutorService newFixedThreadPool(int nThreads) { 2023-05-01 并发编程多线程 线程池 ThreadPoolExcutor
【Spring源码学习】FactoryBean 类型的接口前言在【Spring源码学习】Spring Bean实例化过程-创建Bean实例 一文中,实例在真正创建完成(完成了创建、依赖属性注入、初始化)后,会有FactoryBean的接口调用,我们先定位到这段代码来看看,本章也主要跟一下这个调用的 2023-05-01 Spring源码学习源码 Spring
【Spring源码学习】BeanPostProccessor的理解BeanPostProcessor 接口类型实例是针对某种特定功能的埋点,在这个点会根据接口类型来过滤掉不关注这个点的其他类,只有真正关注的类才会在这个点进行相应的功能实现。 前言Spring 初始化核心流程spring容器初始化的核心方法 2023-05-01 Spring源码学习源码 Spring
【Spring源码学习】Spring Bean的销毁上一章节中,我们跟完了bean的创建流程,而在创建完成以后,bean还会注册销毁相关的类,以便于像tomcat等容器关闭时相关的调用,本章我就聊这个。 一、注册bean销毁的类先定位到类AbstractAutowireCapableBean 2023-05-01 Spring源码学习源码 Spring
【Spring源码学习】Spring Bean实例化-循环依赖一、什么是循环依赖如果类A存在属性类B,而类B也有属性类A,那么当进行属性的依赖注入时,就会出现A还未完成创建,又由于在创建B的过程中又发生创建A的过程,造成了死循环,最终导致循环依赖。类似代码如下:public class A { 2023-05-01 Spring源码学习源码 Spring