自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 606.根据二叉树创建字符串

题目你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例 1:输入: 二叉树: [1,2,3,4] 1 / \ 2 3 / 4 输出: "1(2(4))(3)"解释: 原本将是...

2019-08-09 15:23:13 208

原创 257.二叉树的所有路径

题目给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3分析这道题比较简单,存储每个节点的值,当当前节点的左孩子和右孩子都为空...

2019-07-26 12:30:10 128

原创 Rust在M1上交叉编译到x86_64平台

最近在使用阿里云的Serverless平台使用Rust来写一些小的函数,但是因为自己的电脑是M1,而阿里云的Serverless不支持Arm平台。而通过官方建议使用docker来编译的话,速度实在是令人难以接受。还不如直接在本机交叉编译,速度还能快一些。既然阿里云的机器不支持arm平台,那么我们的选择就是编译为x86_64-unknown-linux-gnu 或者编译为x86_64-unknown-linux-musl。

2022-09-16 17:58:50 1614 1

原创 Java对象的创建

文章目录对象的创建对象的创建流程内存分配方式指针碰撞空闲列表对象的内存布局对象头Mark Word类型指针实例数据对齐填充最近看了《深入理解Java虚拟机》,将一些学到的东西归纳一下,理清一下思路。对象的创建对象的创建流程内存分配方式指针碰撞假如Java堆中内存是绝对规整的,所有用过的内存都放在一边,空闲的内存放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那个指针向空闲空间那边挪动一段与对象大小相等的距离。这种分配方式被成为指针碰撞.空闲列表如果Java对中的内存并

2020-09-06 15:27:02 218

原创 Java内存区域

文章目录Java内存区域Java虚拟机规范要求的数据区线程共享的数据区Java堆方法区class文件常量池运行时常量池字符串常量池线程不共享的数据区程序计数器Java虚拟机栈本地方法栈Java内存区域对于Java程序员来说,由于虚拟机的自动内存管理机制,一方面减少了Java程序员的工作,另一方面也大大减少了内存泄漏与内存移除的情况。但是,正因为Java程序员不再对内存保持持续关注,当出现了内存问题的时候,想要去解决问题也成了一项艰难的工作。因此,每一个Java程序员都应该了解Java虚拟机的内存细节,这

2020-09-05 20:57:56 204

原创 437.路径总和 III

题目给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 ...

2019-08-09 11:23:14 198

原创 5139.第 N 个泰波那契数

题目泰波那契序列 Tn 定义如下:T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2给你整数 n,请返回第 n 个泰波那契数 Tn 的值。示例 1:输入:n = 4输出:4解释:T_3 = 0 + 1 + 1 = 2T_4 = 1 + 1 + 2 = 4示例 2:输入:n = 25输出:138...

2019-07-28 13:19:20 874 2

原创 404. 左叶子之和

题目计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24分析首先一个节点的左右子树都为空,那么这个节点是叶子节点,另外如果我们需要遍历的是叶子节点父节点,这样才能决定是否是左叶子.代码 public int sumOfLeftLeaves(T...

2019-07-26 12:58:52 123

原创 100.相同的树

题目给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 ...

2019-07-26 12:53:32 114

原创 530. 二叉搜索树的最小绝对差

题目给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。示例 :输入: 1 \ 3 / 2输出:1解释:最小绝对差为1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。注意: 树中至少有2个节点。分析对于一个节点来说,离他最近的节点是左子树的最大节点和右子树的最小节点,遍历节点得到这两个节点的值分别与...

2019-07-26 12:41:14 120

原创 538. 把二叉搜索树转换为累加树

题目给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:输入: 二叉搜索树: 5 / \ 2 13输出: 转换为累加树: 18 / ...

2019-07-26 12:34:21 109

原创 637.二叉树的层平均值

题目给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.示例 1:输入: 3 / \ 9 20 / \ 15 7输出: [3, 14.5, 11]解释:第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11].注意:节点值的范围在32位有符号整数范围内。分析有两种解法:第一种,使用层序...

2019-07-26 12:27:06 184

原创 965.单值二叉树

题目如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。示例 1:输入:[1,1,1,1,1,null,1]输出:true示例 2:输入:[2,2,2,5,2]输出:false提示:给定树的节点数范围是 [1, 100]。每个节点的值都是整数,范围为 [0, 99] 。分析这道题也非常简...

2019-07-26 12:19:25 159

原创 108.将有序数组转换为二叉搜索树

题目将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10...

2019-07-26 12:15:11 92

原创 617.合并二叉树

题目给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 2 ...

2019-07-26 12:10:44 230

原创 897. 递增顺序查找树

题目给定一个树,按中序遍历重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。示例 :输入:[5,3,6,2,4,null,8,1,null,null,null,7,9] 5 / \ 3 6 / \ \ 2 4 8 / / \ 1 7 9输出:[1,...

2019-07-24 17:44:14 107

原创 872. 叶子相似的树

题目请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。举个例子,如上图所示,给定一颗叶值序列为 (6, 7, 4, 9, 8) 的树。如果有两颗二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。如果给定的两个头结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false 。分析需要注意的是,这道题需要的是叶子...

2019-07-24 16:17:56 98

原创 107.二叉树的层次遍历 II

给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]分析这个遍历与普通的层次遍历差别在与需要返回...

2019-07-24 14:27:41 101

原创 669. 修剪二叉搜索树

题目给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。示例 1:输入: 1 / \ 0 2 L = 1 R = 2输出: 1 \ 2示例 2:输入: ...

2019-07-24 14:06:01 134

原创 429. N叉树的层序遍历

题目给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。例如,给定一个 3叉树 : 返回其层序遍历:[[1],[3,2,4],[5,6]]分析此题有两种解法:第一种仍然是像遍历二叉树一样遍历,但是要注意的是,这里是N叉树,所以需要两个队列.第二种则是使用递归方式,效率更高一下代码解法1: /** * 土鳖做法:用父子队列来做,效率很低 ...

2019-07-24 11:33:14 139

原创 559.N叉树的最大深度

题目给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如,给定一个 3叉树 :我们应返回其最大深度,3。分析与二叉树的思维一致,找出所有子树深度最大的那个并返回.代码 /** * 递归算法 * @param root * @return */ public int maxDepth(No...

2019-07-23 18:01:30 93

原创 700.二叉搜索树中的搜索

题目给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树: 4 / \ 2 7 / \ 1 3和值: 2你应该返回如下子树: 2 / \ 1 3在...

2019-07-23 17:58:05 148

原创 590.N叉树的后序遍历

题目给定一个 N 叉树,返回其节点值的后序遍历。例如,给定一个 3叉树 :返回其后序遍历: [5,6,3,2,4,1].分析与二叉树的后序相同,只是需要对列表做处理代码 /** * 递归算法,最快的算法 * @param root * @return */ public List<Integer> postorder(N...

2019-07-23 17:52:30 118

原创 589.N叉树的前序遍历

题目给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个 3叉树 :返回其前序遍历: [1,3,5,6,2,4]。分析与二叉搜索树的遍历一致,有两种方法代码第一种:使用迭代方法 /** * 非递归遍历,速度比较慢 * * @param root * @return */ public List<Intege...

2019-07-23 16:03:41 73

原创 104.二叉树的最大深度

题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。分析使用递归方式计算,获取其左子树和右子树的深度,比较两个深度的大小,决定最终的深...

2019-07-23 15:41:28 175

原创 226.翻转二叉树

题目翻转一颗二叉树.示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1分析因为要对每一个子树进行翻转,显然这道题要使用递归的方式对每个子树进行翻转.代码 public TreeNode invertTree(T...

2019-07-23 15:07:41 84

原创 938.二叉搜索树的范围和

题目给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。二叉搜索树保证具有唯一的值。示例 1:输入:root = [10,5,15,3,7,null,18], L = 7, R = 15输出:32示例 2:输入:root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10输出:23分析这道题要求的就是一棵树...

2019-07-23 15:01:18 141

原创 5130. 等价多米诺骨牌对的数量

题目给你一个由一些多米诺骨牌组成的列表 dominoes。如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。形式上,dominoes[i] = [a, b] 和 dominoes[j] = [c, d] 等价的前提是 a==c 且 b==d,或是 a==d 且 b==c。在 0 <= i < j < dominoe...

2019-07-22 12:02:19 426

原创 git status 乱码如何解决

使用git status 会出现字符的十六进制表示而非正确的中文,那么直接在命令行输入命令git config --global core.quotepath false回车就可以了

2019-07-19 11:45:52 302

原创 字符串的创建到底有几个对象产生

字符串的创建到底有几个对象产生直接使用字面量String a = "98374";这种情况下,在编译时就对常亮池进行判断是否存在该字符串.编译期的常亮池是静态常亮池,如果不存在该字符串,则在常量池中创建该字符串的对象,并返回给该变量.所以:String a = "98374";String b = "98374";只创建了一个对象使用new方式创建字符串String a = ...

2019-07-19 10:59:09 2221

原创 Java的权限访问控制

Java的权限访问控制public它意味着定义的成员对所有人开放,尤其是对于使用这个库的开发人员来说default只要在同一个包下,那么它的成员就对其他同包的类开放,直接使用=赋值,直接使用" ."取值protected它意味着,子类可以像使用自己的属性一样通过 =和" . "对父类的属性进行赋值和取值private除了本类只能可以方法,其他都不能访问,但这也意味着,...

2019-07-19 10:37:38 230

原创 方法重载与方法重写

方法重载与方法重写的区别与细节方法重载在一个类中,存在两个或者两个以上的同名函数,就称作方法重载方法重载的细节如下:函数名要一致形参列表不能一致(形参个数不能一致或者形参类型不能完全一致)与返回值无关与权限修饰符无关public void show(){ System.out.println("this is son");}private int show(S...

2019-07-19 10:29:03 171

原创 Integer进行比较计算

Integer进行比较计算的特殊情景@Test public void testInteger(){ int i = 10; Integer ii = 10; Integer iii = 10; System.out.println(i == ii);//true System.out.println(ii ...

2019-07-19 10:10:34 1438

原创 关于eclipse可以启动tomcat,但是tomcat不能单独启动的问题。

我遇到的问题是--我把程序打成war包放在tomcat下的webapp目录下面,然后启动的时候一闪而过.去网上查都是说什么jdk没配对什么的,但是我另外两个tomcat就可以正常启动。然后我想会不会是我使用的eclipse在关联tomcat时,对其配置产生了什么影响,果不其然,我找到了tomcat下conf文件夹下server.xml文件,其中的host标签里面有一个context指向的是我的ec...

2017-10-11 16:51:46 3100 1

原创 Spring整合Hibernate使用懒加载报错Could not initialize proxy - no Session

今天在学习shiro的时候搭了一个Springmvc+Spring+Hibernate整合框架,然后当我把one-many,many-one这些映射关系加上懒加载的时候运行的时候报错Could not initialize proxy - no Session      然后去网上找资料,就是说因为hibernate跟spring整合以后,hibernate的session就交给sprin

2017-08-07 17:07:52 7867

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除