环形链表 leetCode–141(环形链表)给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。 如果链表中存在环 ,则返回 true 。 否则,返回 2022-06-06 算法 > 链表 #leetCode #链表
只出现一次的数字 leetCode–136(只出现一次的数字)给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 12输入: [2,2,1]输出: 1 示例 2: 1234输入: [4,1,2,1,2]输出: 4 解法一:自己利用Hash表进行计算,使用一个map来存储数据 2022-06-06 算法 > leetCode > 简单题 #leetCode
SpringBoot入门 SpringBoot 特性简介: Spring Boot 框架对此开发过程进行了革命性的颠覆,完全抛弃了繁琐的 xml 配置过程,采用大量的默认配置简化我们的开发过程。 特性 能够快速创建基于 Spring 的应用程序 能够直接使用 java main 方法启动内嵌的 Tomcat 服务器运行 Spring Boot 程序,不需要部署 war 包文件 提供约定的 starter PO 2022-06-06 SpringBoot #SpringBoot
二叉树的深度 leetCode–104 (简单)给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 12345 3 / \9 20 / \ 15 7 返回它的最大深度 3 。 解法一:深度优先遍历先判断根节点是否为空,如果为空直接返回0。 之后在判断, 2022-06-04 算法 > 树 #算法 #二叉树
对称二叉树 leetCode–101(简单)给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 12输入:root = [1,2,2,3,4,4,3]输出:true 示例 2: 12输入:root = [1,2,2,null,3,null,3]输出:false 解法一:自己哈哈哈哈,笑死了 我这算是什么解法~~ 前序遍历,后序遍历,之后将后序遍历逆转,比较两个list是否相等。后 2022-06-04 算法 > 树 #算法 #二叉树
十大排序算法 冒泡排序两两进行比较,进行一遍遍历就将最大的数放到最右端。放在最右端的数在下一次遍历中不用遍历,因为已经是有序的。代码为: 12345678910111213141516/** * 冒泡排序 * @param arr */public void bubbleSort(int arr[]){ int n = arr.length; for (int i 2022-06-02 算法 > 排序 #算法 #排序
二叉树的遍历 二叉树的中序遍历根据leetCode中94题的二叉树中序遍历而整理 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 12输入:root = [1,null,2,3]输出:[1,3,2] 示例 2: 12输入:root = []输出:[] 解法一:递归 最简单的方法,也是很好想到的解法,一开始只会这个 ,哈哈哈。。但总是在进步嘛 中序遍历的访问顺序是:左子树—- 2022-06-01 算法 > 树 #算法 #二叉树 #遍历
回文串 最长回文子串(leetCode_5)给你一个字符串 s,找到 s 中最长的回文子串。 示例 1: 123输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。 示例 2: 12输入:s = "cbbd"输出:"bb" 解法一:暴力解法通过两个for循环遍历字符串s所 2022-05-30 算法 > leetCode #算法 #leetCode #回文串
JVM学习 引言什么是JVM?定义 Java Virtual Machine - java 程序的运行环境(java 二进制字节码的运行环境) 将java的字节码加载到虚拟机里面,就可以运行了 好处 一次编写,到处运行(正式jvm屏蔽了字节码和底层操作系统的差异,对外提供了统一 的运行环境) 自动内存管理,垃圾回收功能 (不需要自己释放内存,减轻了内存的泄露) 数组下标越界检查 多态(可扩展性,虚方法表 2022-05-30 JVM #JVM #Java
Java-线程 Java线程1. 什么是进程,什么是线程?答:进程是资源分配的最小单位,线程是CPU调度的最小单位进程是操作系统进行资源分配的最小单位,,包括CPU,内存,磁盘…,进程是具有独立功能的程序关于某个数据集上的一次运行活动。分为系统进程和用户进程(用于完成操作系统的各种功能的进程是系统进程,由你启动的进程为用户进程) 线程是CPU调度的最小单位,必须依赖于进程而存在,是进程的一个实体,比进程更小,独立 2022-05-29 Java > JavaSE #javaSE #线程 #锁