- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 剑指Offer面试题7用两个栈实现队列
用两个栈实现队列 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解题思路:这个比较简单,入栈出栈,在入栈出栈,结果就是对的了,不多解释,看代码: import java.util.Stack; public class Solution { Stack stack1 = new Stack(); Stack
2016-08-18 15:30:38
258
原创 剑指Offer:面试题6重建二叉树
重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 前序遍历:是先根节点,然后是左子树然后是右子树,然后左子树和右子树都循环这个规则 中序遍历:按照左中右的顺序进行
2016-08-17 14:18:42
759
原创 剑指Offer面试题5 Java解法
题目:输入一个链表,从尾到头打印链表每个节点的值。 输入描述: 输入为链表的表头 输出描述: 输出为需要打印的“新链表”的表头 该题的解题思路是递归或者是栈: 递归解法:public static void printListReverse1(ListNode headNode){ if (headNode != null){ if(hea
2016-08-16 17:43:24
303
原创 剑指Offer,面试题4,替换空格,Java写法
题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路就是如果从左到右去插入的话,时间复杂度为O(n2),先确定空格的个数,然后确定替换后的String长度,从右到左插入的话时间复杂度为O(n) 简单的,但时间复杂度高的代码:public class Solution { publ
2016-08-15 17:21:57
1107
原创 单例模式详解 Java写法
网上的单例模式一搜一大把,怎么写才是最好的呢? 最简单,线程安全的写法: public class Singleton{ private static final Singleton instance = new Singleton(); private Singleton(){ } public static Sing
2016-08-14 17:52:59
315
原创 剑指Offer面试题3:二维数组中的查找Java版解法
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 第一种解法是全遍历,这种方法代码简单,但是时间复杂度高O(n*m),把二维数组看成是N个一维数组,进行遍历 public class Solution { public boolean
2016-08-14 17:39:07
466
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅