![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer-java实现
七只窗
只想做正态曲线的下半截~
展开
-
面试题目2:实现单例模式
单例模式基本实现方式public class singleTest{ //第一步,私有化构造函数 private singleTest(){ } //第二步,声明私有静态变量 private static singleTest singleInstance; //第三步,创建同步方法,获取单例,防止多线程时重复建立 public static原创 2017-06-02 16:10:50 · 212 阅读 · 0 评论 -
面试题目3:二维数组中的查找
题目在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路分析必须找到一个角,该角两边数字大小分别是递增和递减,这样可以用来排除错误选项。对于该题目来说,右上角和左下角是可以入手的点,以此点为起点,开始进行删除行或列,直至找到该点。特殊情况查找数字大于该二维数组。查找数字小于原创 2017-06-02 17:36:14 · 282 阅读 · 0 评论 -
面试题目4:替换空格
题目请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”思路原创 2017-06-03 09:58:38 · 186 阅读 · 0 评论 -
面试题5:从尾到头打印链表
题目输入一个链表的头结点,从尾到头打印每个节点的值思路可以先正序遍历这个链表,然后把节点值放入一个栈中,然后,输出该栈即可完成。特殊测试链表头结点为null,即空指针测试代码实现 public void printNode(Node node){ //使用一个栈来记录数值 Stack<Integer> stack=new Stack<Integer>();原创 2017-06-03 10:42:47 · 149 阅读 · 0 评论 -
面试题6:重建二叉树
题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}。思路根据前序遍历和中序遍历的特性确定该二叉树的构造。由前序遍历可得1必定是二叉树根节点,而根节点1在中序遍历序列中位于左子树和右子树中间。因此可得{4,7,2}是左子树,{5,3原创 2017-06-13 17:19:28 · 175 阅读 · 0 评论