自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tianzhihensu的专栏

我学习,我记录……

原创 Java中的多态和动态绑定

1 定义 Example 动态绑定的内部机制  1. 定义根据Core Java: 多态:一个对象变量可以指示多种实例类型的现象。 动态绑定:在运行时刻能够自动选择调用哪个方法的现象。 签名:方法名和参数列表构成一个签名 多态和动态绑定大多与继承有关,因为有了继承的出现,才...

2016-05-31 18:26:57

阅读数 972

评论数 0

原创 《剑指offer》——正则表达式匹配

T: 题目描述: 请实现一个函数用来匹配包括’.’和’‘的正则表达式。模式中的字符’.’表示任意一个字符,而’‘表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”...

2016-05-20 14:30:25

阅读数 984

评论数 0

原创 《剑指offer》-- 二叉树的下一个结点

题目描述: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解题思路: /** * 思路: * * 对于一个节点,其后续节点有三种形式: ...

2016-04-03 09:32:51

阅读数 921

评论数 0

原创 《剑指offer》——孩子们的游戏(圆圈中最后剩下的数)

T: 题目描述 * 每年六一儿童节,NowCoder都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为NowCoder的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。 每次喊到...

2015-12-14 20:51:13

阅读数 1027

评论数 0

原创 《剑指offer》——链表中环的入口结点

T: 题目描述 一个链表中包含环,请找出该链表的环的入口结点。 基本做法不考虑其中潜在的规律,就按照一般的方法,创建一个list,把扫描过的节点都存储在list中,知道下一个节点在list中已经存在,那就说明该节点就是入口节点。这种方式下的时间复杂度为O(n2)O(n^2)我的cod...

2015-12-13 20:02:01

阅读数 2546

评论数 0

原创 《剑指offer》——左旋转字符串

T: 题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很...

2015-12-10 21:34:42

阅读数 542

评论数 0

原创 《剑指offer》——把字符串转换成整数

T: 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 这种题目交代不清楚,也没啥技巧含量和思考价值,既然出现了,就顺带着做一下吧。。code: /** * T: 把字符串转换成整数 * * 题目描述 * 将...

2015-12-10 20:53:08

阅读数 585

评论数 0

原创 《剑指offer》——对称的二叉树

定义法 递归法T: 题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 定义法这道题目,竟然没有想出来如何用递归做,虽然也在最开始做了挣扎,还是没找到递归的切入点,只得从定义出发,先按照原二叉树,搞一个新的镜像,然...

2015-12-09 22:35:03

阅读数 1197

评论数 0

原创 《剑指offer》——字符流中第一个不重复的字符

T: 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出前六个字符“google”时,第一个只出现一次的字符是”l”。 输出描述: 如果当前字符流没有存在出现一...

2015-12-08 21:14:41

阅读数 633

评论数 0

原创 《剑指offer》——和为S的连续正数序列

遍历穷举法 滑动窗口法T: 题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,2...

2015-12-07 21:56:55

阅读数 1146

评论数 1

原创 《剑指offer》——重建二叉树

T: 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 不解释了,麻烦的连自己都懒得解...

2015-12-06 22:34:03

阅读数 358

评论数 0

原创 《剑指offer》——调整数组顺序使奇数位于偶数前面

T: 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 这道题目,我思考了好久,想过各种解决方案,都是基于在本数组上进行操作,无额外的数组开销,还要考...

2015-12-05 19:55:44

阅读数 452

评论数 0

原创 《剑指offer》——数组中重复的数字

T: 题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。 太...

2015-12-04 21:46:13

阅读数 910

评论数 0

原创 《剑指offer》——按之字形顺序打印二叉树

T: 题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 这道题目与前几天做的一道题目《把二叉树打印成多行》类似,只不过拿到题目里,把每一层的节点都保存在一个单独数组当中,这道题目...

2015-12-04 14:42:52

阅读数 416

评论数 0

原创 《剑指offer》——二叉搜索树与双向链表

T: 题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 这道题目,解决思路不难,类似于先序遍历,只不过要在压栈和出栈的过程中,把树的结构变为一个双向链表。一张图解释用栈的解题思路:详细说明都在代码注释当中.c...

2015-12-03 21:24:37

阅读数 370

评论数 0

原创 《剑指offer》——二叉树的镜像

T: 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 题目考察的是在二叉树中递归的使用。这种递归也是最简单的递归,初级的不能再初了。。。code: /** public class TreeNode { int val = 0; ...

2015-12-02 21:55:42

阅读数 683

评论数 0

原创 《剑指offer》——把二叉树打印成多行

T: 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 解法都在代码注释当中了。我的code: import java.util.ArrayList; import java.util.LinkedList; import java.u...

2015-12-01 16:50:49

阅读数 945

评论数 0

原创 《剑指offer》——二叉树中和为某一值的路径

T: 题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 这道题从昨天晚上就在抠,抠了两个小时,最终代码写出来了,感觉有bug,没敢提交。前一个小时,自己独立思考,寻找解题思路,也知道...

2015-11-30 10:50:32

阅读数 1161

评论数 0

原创 《剑指offer》——二叉搜索树的后序遍历序列

T: 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 考察二叉搜索树的后序遍历特征,具体的特征说明,以及结题思路,已在代码的注释当中详细解释。code: /** * ...

2015-11-28 11:32:22

阅读数 630

评论数 0

原创 《剑指offer》——数组中出现次数超过一半的数字

T: 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 如果用暴力搜索,那就太没意思了,所有的问题都可以用枚举法...

2015-11-27 17:14:15

阅读数 727

评论数 0

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