自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Executor, ExecutorService 和 Executors 间的不同

转载自:https://yemengying.com/2017/03/17/difference-between-executor-executorService/java.util.concurrent.Executor, java.util.concurrent.ExecutorService, java.util.concurrent. Executors 这三者均是 Java Executo

2018-03-17 11:21:55 316

原创 面试题(三十六)二叉搜索树与双向链表

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路:二叉搜索树的题目可以想到由递归来解决。由于要转换成排序的双链表,因此需要使用二叉树的前序遍历。先转换左子树,然后将根节点与左子树转换成的链表连接起来,再连接上右子树的转换链表即可。代码实现:// 返回排序双链表的头节点 public TreeNode Convert(

2018-03-11 21:36:54 257

原创 面试题(三十五)复杂链表的复制

题目: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)思路: 解法一:以空间换时间。整个过程分两步:首先遍历原链表,创建复制结点,并完成复制节点的val、next域的赋值,此过程中建立一个Map,存储原节点和其复制节点的映射关系。然

2018-03-11 21:21:38 177

原创 面试题(三十四)二叉树中和为某一值的路径

题目:输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。思路:首先要注意:必须是从根节点到叶节点的路径才是有效的路径,若是根节点到内部节点的一条路径,则无效。 由于二叉树递归的结构特性,所以可以考虑用递归解题: 1)首先判断输入整数和当前节点的值是否相同,若相同且该节点为叶节点,则将当前路径放入符合题意的路径集合中,然

2018-03-11 20:57:44 243

转载 Java finalize方法

转载自:http://blog.csdn.net/carolzhang8406/article/details/6705831《JAVA编程思想》:java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。(1).对象不一定会被回收。(2).垃圾回收不是析构函数。(3).垃圾回收只与内存有关。(4).垃圾回收和finalize()都是...

2018-03-09 17:39:15 297

原创 面试题(三十三)二叉搜索树的后序遍历序列

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路:二叉搜索树的后序遍历结果的特点:序列的最后为根节点,序列的前半部分为根节点的左子树,所有元素小于根节点,后半部分为右子树,所有元素大于根节点。因此解题步骤如下: 1)确定根节点 2) 从左往右遍历序列,直到发现第一个大于根节点的元素x。此元素之前

2018-03-08 17:17:57 210

原创 面试题(二十九) 顺时针打印矩阵

题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。思路:用上、下、左、右四个坐标定位出一次要旋转打印的数据,一次旋转打印结束后,往对角分别前进和后退一个单位。主要是要敢于设置四个位置变量

2018-03-03 23:35:26 183

原创 面试题(二十八)对称的二叉树

题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路:针对二叉树的前序遍历定义一种对称的遍历算法:先遍历父节点,再遍历其右子节点,最后遍历左子节点。如果一个二叉树的前序遍历结果和对称遍历算法结果相同,那么这个二叉树便是对称的。代码(已在牛客网AC): boolean isSymmetrical(TreeNode pRoot)

2018-03-03 23:29:14 215

原创 面试题(二十七) 二叉树的镜像

题目:操作给定的二叉树,将其变换为源二叉树的镜像。思路:画图分析可知,在遍历二叉树的过程中将节点的左右子树交换即可。代码(递归实现,已在牛客网AC):public void Mirror(TreeNode root) { if(root == null) return; if(root.left == null && root.right ==

2018-03-03 23:24:56 176

转载 你真的了解volatile关键字吗?

转载出处:https://www.jianshu.com/p/7798161d7472一、Java内存模型想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取,赋值)都必须在工作内存中

2018-03-01 21:57:56 157

原创 面试题(二十六) 树的子结构

题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路:要查找树A中是否存在和树B结构一样的子树,可以分为两步:第一步是在树A中找到和树B的根节点的值一样的节点R;第二步是判断以R为根节点的子树是不是包含和树B一样的结构。第一步查找树A中是否存在和树B的根节点值一样的节点可以通过遍历树A实现;第二步判断R为根节点的子树是否包含和树B一样的结构也可以通过递

2018-03-01 00:07:16 179

空空如也

空空如也

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

TA关注的人

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