自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

海象先生

更深的思考,多问为什么。 GitHub:http://github.com/maokai1229

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

原创 两个栈来实现一个队列 《剑指Offer》

题目 思路 栈:先进后出 队列:先进先出 使用两个栈,栈1用于push,栈2用于pop,两个栈底相当于是连接的。 代码 import java.util.Stack; public class Stack2Queue { Stack stack1 = new Stack(); Stack stack2 = new Stack(); //进队

2018-01-27 20:37:50 107

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

题目 思路 刚拿到题目,错误的认为是单链表的反转。这个题目用递归的方式会好做很多。 因为递归的底层使用堆栈实现的,它会一层层递归,到达底层时回朔。 解法 /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val)

2018-01-26 11:30:57 95

原创 替换空格 剑指Offer

题目 思路 首先从左往右计算空格的数量 反向替换空格,因为正向替换,需要大量的移动 代码 public String replaceSpace(StringBuffer str) { int spaceNum=0; int newLength=0; int oldIndex; // 统计数量

2018-01-24 21:42:46 174

原创 冒泡排序的多种实现

冒泡是我最早接触的排序算法,两个 for 循环就搞定。 前言 国际惯例,先上效果图 目录 基本思想 算法实现 基本原理 通过比较相邻两个元素,如果符合条件就进行替换。 算法实现 写法有很多种,具有代表性的是《Java数据结构普与算法》书中给出的案例。 //out 一趟排列出最大(最小)值 int out; /

2018-01-24 21:28:54 262

原创 二维数组查找 《 剑指Offer》

题目 时间限制:1秒 空间限制:32768K 热度指数:517541 本题知识点: 查找 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路 选取右上角或者左下角的元素a[row][column]与target进行比较, 当target

2018-01-14 17:13:43 165

原创 二叉树的递归遍历

前言 二叉树和链表在历年春招笔试中,都是重点考核对象。链表由于算法简单,一般考代码实现能力。二叉树考核遍历。 二叉树 二叉树是树形结构中比较简单的,它又可细分成完美二叉树,斜二叉树(相当于链表),完全二叉树。 二叉树的几个性质 第 i 层最大结点数为 2^(i-1) 深度为 k 的二叉树最大结点数为 2^k -1 (完美二叉树) 二叉树的遍历 先序 中序 后序 层次

2018-01-10 21:08:10 173

原创 链表的反转(使用循环遍历实现)

前言 链表的反转问题在校招中算是一个高频题目,同时考的比较勤的还有:Top K ,快排,堆排,这些在以后的帖子中我们再细说,今天我们先用 Java 实现单链表的反转。 推荐看看这个 看图理解单链表的反转,写得简单清晰。 单链表的反转 链表的反转有两种实现:遍历,递归; 遍历易于理解,递归代码简洁,各有千秋。 反转的遍历实现 在遍历时,要分清头指针 first (有的教程里写成

2018-01-08 21:43:06 1324

原创 单链表的Java实现 (二)

前言前面我们对单链表的表头进行数据的插入和删除,其实也就是实现栈的链式存储。然而仅仅对首个结点进行操作太 easy,我们需要的是对任意位置的查询和删除。目录 查询结点 删除任意结点 查询结点以结点中存储的值为查询的索引 //根据值查询链表 private List queryByKey(int key) { List current = first; while

2018-01-02 20:32:21 1804

原创 单链表的Java实现 (一)

前言最近准备春招,数据结构和算法是短板,决定下功夫恶补。链表能够实现数据的链式存储,可以做大量的数据插入删除,不用指定内存的大小。目录 结构 头结点 头部插入数据 头部删除数据 遍历数据 结构 class List { //数据 private int data; //储存指向下一节点的指针 private List next;

2018-01-02 16:50:56 1008

空空如也

空空如也

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

TA关注的人

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