- 博客(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
200
原创 剑指Offer:面试题6重建二叉树
重建二叉树题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。前序遍历:是先根节点,然后是左子树然后是右子树,然后左子树和右子树都循环这个规则中序遍历:按照左中右的顺序进行
2016-08-17 14:18:42
692
原创 剑指Offer面试题5 Java解法
题目:输入一个链表,从尾到头打印链表每个节点的值。 输入描述:输入为链表的表头输出描述:输出为需要打印的“新链表”的表头该题的解题思路是递归或者是栈:递归解法:public static void printListReverse1(ListNode headNode){ if (headNode != null){ if(hea
2016-08-16 17:43:24
255
原创 剑指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
1011
原创 单例模式详解 Java写法
网上的单例模式一搜一大把,怎么写才是最好的呢? 最简单,线程安全的写法: public class Singleton{private static final Singleton instance = new Singleton(); private Singleton(){ } public static Sing
2016-08-14 17:52:59
256
原创 剑指Offer面试题3:二维数组中的查找Java版解法
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。第一种解法是全遍历,这种方法代码简单,但是时间复杂度高O(n*m),把二维数组看成是N个一维数组,进行遍历publicclass Solution { publicboolean
2016-08-14 17:39:07
394
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人