leecode-107-二叉树的层序遍历2
给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
例如:
给定二叉树 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回其自底向上的层序遍历为:
[
[15,7],
[9,20],
[3]
]
Related Topics树广度优先搜索\n👍 431👎 0
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970//给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) //// 例如: //给定二叉树 [3,9,20,null,null,15,7], //// // 3// / \// 9 20// / \// 15 7// ...
leecode-104-二叉树的最大深度
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回它的最大深度 3 。
Related Topics树深度优先搜索递归\n👍 862👎 0
解法1:深度优先搜索
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849//给定一个二叉树,找出其最大深度。 //// 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 //// 说明: 叶子节点是指没有子节点的节点。 //// 示例: //给定二叉树 [3,9,20,null,null,15,7], //// 3// / \// 9 20// / \// 15 7 //// 返回它的最大深度 3 。 // Rela ...
leecode-92-反转链表II
给你单链表的头指针 head 和两个整数 left 和 right ,其中 left
leecode-82-删除链表中的重复元素II
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。
返回同样按升序排列的结果链表。
示例 1:
输入:head = [1,2,3,3,4,4,5]
输出:[1,2,5]
示例 2:
输入:head = [1,1,1,2,3]
输出:[2,3]
提示:
链表中节点数目在范围 [0, 300] 内
-100
leecode-206-反转链表
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
Related Topics链表\n👍 1696👎 0
解法1:迭代
123456789101112131415161718192021222324252627282930313233343536373839//反转一个单链表。 //// 示例: //// 输入: 1->2->3->4->5->NULL//输出: 5->4->3->2->1->NULL //// 进阶: //你可以迭代或递归地反转链表。你能否用两种方法解决这道题? // Related Topics 链表 // 👍 1696 👎 0//leetcode submit region begin(Prohibit modification and deletion)/** * Definition for ...
leecode-83-删除排序链表中的重复元素
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。
示例 1:
输入:head = [1,1,2]
输出:[1,2]
示例 2:
输入:head = [1,1,2,3,3]
输出:[1,2,3]
提示:
链表中节点数目在范围 [0, 300] 内
-100
Feign实现多文件上传
想用Feign实现多文件的批量上传Controller实现如下代码:
12345678@PostMapping(value = "/uploadBatch/ali", consumes = MediaType.MULTIPART_FORM_DATA_VALUE, headers = "content-type=multipart/form-data") @ApiOperation(value = "阿里云批量上传文件") @ResponseBody public Response uploadBatchAli( @RequestPart("files") MultipartFile[] files, @RequestParam("path") String path) { return fileServiceClient.uploadBatchAli(files, path); }
FeignClient代码如下
1234@PostMapping(value ...
leecode-70-爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
注意:给定 n 是一个正整数。
示例 1:
输入: 2
输出: 2
解释: 有两种方法可以爬到楼顶。
1. 1 阶 + 1 阶
2. 2 阶
示例 2:
输入: 3
输出: 3
解释: 有三种方法可以爬到楼顶。
1. 1 阶 + 1 阶 + 1 阶
2. 1 阶 + 2 阶
3. 2 阶 + 1 阶
Related Topics动态规划\n👍 1608👎 0
123456789101112131415161718192021222324252627282930313233343536373839404142//假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 //// 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? //// 注意:给定 n 是一个正整数。 //// 示例 1: //// 输入: 2//输出: 2//解释: 有两种方法可以爬到楼顶。//1. 1 阶 + 1 阶//2. 2 阶 //// ...
JVM的一些问题
一、 JVM的内存划分
二、 JAVA类加载的全过程是怎样的?什么是双亲委派机制?有什么作用?一个对象从加载到JVM,再到被GC清除,都经历了什么过程?JAVA的类加载器: AppClassLoader->ExtClassloader -> BootStrap Classloader
每种类加载器都有他自己的加载目录
JAVA中的类加载器:AppClassLoader , ExtClassLoader -> URLClassLoader -> SecureClassLoader -> ClassLoader
每个类加载器对他加载过的类,都是有一个缓存的
双亲委派模型:向上委托查找,向下委托加载。 作用:保护Java的类不会被应用程序覆盖
类加载过程:
类加载过程: 加载 -> 连接 -> 初始化
加载: 把Java的字节码数据加载到JVM内存当中,并映射成JVM认可的数据结构。
连接:分为三个小的阶段: 1、 验证:检查加载到的字节信息是否符合JVM规则
2、 准备:创建类或者接口的静态变量,并赋初始值 半初始化状态
3、 解析:把符号引用 ...