自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hh_zheng的博客

一次只做一件事,并做好它!

  • 博客(6)
  • 收藏
  • 关注

原创 剑指Offer 面试题30:包含min函数的栈 Java代码实现

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min,push及pop的时间复杂度都是O(1) 这道题第一反应就是用一个额外的变量存储栈中的最小元素,但是仔细一想,在取出这个最小元素之后呢?怎么得到下一个最小元素。也就是说,在压入这个最小元素之前,我们还要把次小元素保存起来。仔细分析过程,可以这样做,把每次的最小元素都保存起来,放在另外一个辅

2017-12-26 21:17:59 274

原创 剑指Offer 面试题29:顺时针打印 Java代码实现

题目:输入一个矩阵按照从外向里以顺时针的顺序依次打印出每一个数字。 把矩阵想象成若干个圈,可以用一个循环来打印矩阵,每一次打印矩阵中的一个圈。此外还需要给出循环结束的条件,我们总是从左上角开始打印,开始的下标依次为(0,0)、(1,1)、(2,2)...举几个栗子,可以得到循环终止条件为,cols>start*2并且rows>start*2。 需要注意的是,最后一圈有可能退化成只有一行、只有一

2017-12-26 20:59:59 225

原创 剑指Offer 面试题28:判断一棵二叉树是否镜对称 Java代码实现

题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. public static boolean isSymmetrical(TreeNode root){ if(root==null) return true; return isSym(root.left,root.right); } private sta

2017-12-26 20:50:19 193

原创 剑指Offer 面试题27:二叉树的镜像 Java代码实现

题目:输入一个二叉树,输出该二叉树的镜像。 分析树的镜像的定义,就是前序遍历二叉树,如果存在左右子树,就交换左右节点。方便用递归实现。 public static void mirrorTree(TreeNode root){ //递归结束条件 if(root==null) return; if(root.left==null&&root.right==null) re

2017-12-07 16:49:56 238 2

原创 剑指Offer 面试题26:树的子结构 Java代码实现

题目:输入两棵二叉树A和B,判断B是不是A的子结构。 解题思路分为两步: 1.在树A中找到节点值跟B根节点值相同的节点R 2.判断A中以R为根节点的子树是否包含和树B一样的结构 //递归hasSubtree其实就是前序遍历了root1 //如果发现root1中存在节点的值等于root2的根节点 那么调用doesTree1HaveTree2进行判断 public static bool

2017-12-07 16:27:25 180

原创 剑指Offer 面试题25:合并两个排序的链表(递归+非递归) Java代码实现

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 不断比较两个链表中的节点,将小的添加到新的链表中,直到有一个链表全部添加完后,直接把另一个链表剩下的拼接到新链表后。要注意空链表的处理。 非递归的代码: //采用不带头结点的链表 非递归实现 public static ListNode merge(ListNode list1,ListNode list2

2017-12-07 16:09:19 1326

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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