![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Offer
文章平均质量分 67
YQlakers
这个作者很懒,什么都没留下…
展开
-
输入一个链表,从尾到头打印链表每个节点的值
首先看到这个题目,我们会想到首先先遍历链表 用栈去收集这些结点,利用栈的先进后出的特点,最后分别结点进行出栈操作,并将结点的值添加到一个列表中,这样就能从尾到头打印每个节点的值 直接上代码 /** * public class ListNode { * int val; * ListNode next = null; * * Li原创 2017-04-10 10:42:19 · 2873 阅读 · 0 评论 -
重建二叉树
首先我们来看看题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解题思想:首先找到根结点,将其分为左子树和右子树,在寻找左(右)子树中的根节点,再将其分为左子树和右子树,这样不断地递归下去,直到达原创 2017-04-10 11:36:35 · 457 阅读 · 0 评论 -
两个栈实现对列
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 核心思想:将数据压入stack1中即为像队列的尾部添加元素,将stack1中的数据出栈并压栈道stack2中,然后将stack2中数据出栈的过程即为队列中删除列的头元素的过程 import java.util.Stack; /* 栈的特点是后进先出,队列的特点是先进先出、后进后出 */原创 2017-04-10 14:40:36 · 551 阅读 · 0 评论 -
旋转数组的最小数字
题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 解题思想:默认的数组是满足arr[index1]。 /* 用二分法查找最小元素 */ impor原创 2017-04-10 15:27:45 · 497 阅读 · 0 评论 -
java实现单例模式
java设计模式--单例模式 单例设计模式 Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。 核心知识点如下: (1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。 (2) 在其内部产生该类的实例化对象,并将其封装成private static类型。转载 2017-06-12 09:20:46 · 348 阅读 · 0 评论