自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 剑指Offer------顺时针打印矩阵

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.每次打印完一个外圈,就四个角都往内部进一位,即左上,右上,左下,右下需要注意的就是打印  下  左

2017-10-04 09:30:26 165

原创 剑指Offer------二叉树的镜像

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。此题需要注意就是不要绕进去首先,得明确知道当根节点(8)的左子树和右子树交换位置后,其左子树对应的子树和右子树对应的子树位置也是交换的。故这题就很简单了,只要将所有左右子树交换位置就ok了输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10

2017-10-03 20:27:55 192

原创 剑指Offer------树的子结构

题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)分析见注解/** * * @author zy * @date 2017年10月3日 下午6:20:22 * @Decription 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) */public class Ex

2017-10-03 20:07:20 176

原创 剑指Offer------合并两个排序的链表

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。/** * * @author zy * @date 2017年10月3日 下午5:45:14 * @Decription 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 */public class Ex9 { cl

2017-10-03 18:17:38 200

原创 剑指Offer------反转链表

题目描述输入一个链表,反转链表后,输出链表的所有元素。/** * * @author zy * @date 2017年10月3日 下午5:15:33 * @Decription 输入一个链表,反转链表后,输出链表的所有元素。 * */class ListNode { int val; ListNode next = null; ListNode(int

2017-10-03 17:23:50 232

原创 剑指Offer------链表中倒数第k个结点

题目描述输入一个链表,输出该链表中倒数第k个结点。:两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一指针走(k-1)步,即到达第k个结点。然后两个指针同时开始向后移动,当第一个指针到达最后的结点时候,第二个结点所在位置就是倒数第k个结点了。/** * * @author zy * @date 2017年10月3日 下午1:49:40 * @D

2017-10-03 16:27:05 213

原创 剑指Offer------从尾到头打印链表

题目描述:输入一个链表,从尾到头打印链表每个节点的值。采用递归思想/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }

2017-10-03 13:46:05 162

原创 剑指Offer------调整数组顺序使奇数位于偶数前面

题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。:运用键索引技术法首先统计奇数的个数然后新建一个等长数组,设置两个指针,奇数指针从0开始,偶数指针从奇数个数的末尾开始.运用了空间换时间的算法------时间复杂度O(n),空间复杂度O(n)。/*

2017-10-03 13:19:13 190

原创 剑指Offer------重建二叉树

题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * * @author zy * @date 2017年10月2日 下午1:00:17 * @Decription 输入某二

2017-10-03 10:40:27 224

原创 剑指Offer------变态跳台阶

题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。关于本题,前提是n个台阶会有一次n阶的跳法。分析如下: f(1) = 1 f(2) = f(2-1) + f(2-2)         //f(2-2) 表示2阶一次跳2阶的次数。f(3) = f(3-1) + f(3-2) + f(3-3)  ...

2017-10-03 10:32:40 208

原创 剑指Offer------跳台阶

题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。:1.假设当有n个台阶时假设有f(n)种走法。               2.青蛙最后一步要么跨1个台阶要么跨2个台阶。               3.当最后一步跨1个台阶时即之前有n-1个台阶,根据1的假设即n-1个台阶有f(n-1)种走法               4.

2017-10-03 09:47:24 222

原创 剑指Offer------旋转数组的最小数字

题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。:采用二分法解答,mid = (low +high)/2需要考虑三种情况:(1)array[m

2017-10-02 16:50:22 183

原创 剑指Offer------用两个栈实现队列(用两个队列实现栈)

问题一:用两个栈实现一个队列的功能?要求给出算法和思路:入队:将元素进栈A出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈;           如果不为空,栈B直接出栈。import java.util.Stack;/** * * @author zy * @date 2017年10月2日 下午2:02:23 * @Dec

2017-10-02 14:22:12 163

空空如也

空空如也

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

TA关注的人

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