自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

土豆萝卜会发光的博客

只要足够努力 就一定会发光

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

原创 链表中环的入口结点

题目描述一个链表中包含环,请找出该链表的环的入口结点。编程思路定义两个指针slow和fast,第一次走,slow和fast都从头结点开始,slow每次走一步,fast每次走两步,当slow和fast相遇时,fast比slow多走 的步数就是环中的结点数。第二次走,slow还是从头结点开始,而fast从第一次slow和fast相遇的结点开始,直到slow和fast再次相遇时,

2017-08-23 19:23:27 284

原创 删除链表中重复的结点

题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5编程思路定义四个结点,当前节点node,前结点pre,后结点next,要删除的结点ToBeDel,判断当前结点的值和后结点的值是否相等,若不相等,继续向前移动,若相等,删除该结点,即next =

2017-08-23 17:52:30 230

原创 数值的整数次方

题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。编程思路1,1). 按照幂的定义。循环累乘。 2). 若给定的指数为负数,则返回累乘的倒数。 3). 若给定的指数为零,则返回1。 4). 底数若为零,则返回0。2.递归:n为偶数,a^n=a^n/2*a^n/2;

2017-08-17 17:35:51 187

原创 二进制中1的个数

题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。编程思路1.把n与1做与运算,判断n 的最低位是不是1.接着把1左移一位得到2,再和n做与运算,就能判断n的次低位是不是1...这样反复左移,每次都能判断n的其中1位是不是1.该思路的循环次数为整数二进制的位数。2.把n减去1,再和原整数做与运算,会把该整数最右边一个1变成0.那么一个整数的二进制表

2017-08-17 16:16:55 171

原创 斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。                 0                    n=0  f(n) =               1                    n=1                    f(n-1)+f(n-2)        n>1编程思路最

2017-08-17 11:35:39 275

转载 进程与线程的区别

进程与线程1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

2017-08-10 10:20:01 193 2

原创 旋转数组中的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0编程思路旋转后的数组可划分为两个排序子数组,而且前面的数组元素都大于或等于后面的数组元素,并

2017-08-06 17:24:33 174

原创 牛课网 Java专项练习

这是牛课网中的一道题,虽然比较基础,但是感觉挺重要的看下面的程序,Test.main() 函数执行后的输出是()分析过程如下:首先,super()函数指的是调用父类的构造方法①new B()执行B的构造函数,第一行是super(5);此时执行的是A的构造函数,A的构造函数调用的是setValue()方法,由于B重写

2017-08-04 18:37:55 341

原创 从上往下打印二叉树

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。编程思路这种按层次打印的顺序应该使用队列来实现,先打印根结点,所以从树的根结点开始,每一次打印一个结点的时候,如果该结点有子结点,则把该结点的子结点放到一个队列的末尾。接下来从队列的头部取出最早进入队列的结点,重复前面的打印操作,直至队列中所有的结点都被打印出来为止。

2017-07-25 21:22:27 189

原创 栈的压入、弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)编程思路建立一个辅助栈,把输入的第一个序列中的数字依次压入该辅助栈,并

2017-07-25 19:54:22 214

原创 包含min函数的栈

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。编程思路准备两个栈,一个是数据栈,一个是辅助栈,首先往数据栈中压入数字,然后每次把压入数据栈的数字的最小值压入辅助栈中,那么辅助栈的栈顶就一直都是最小元素。当最小元素从数据栈内被弹出来之后,同时弹出辅助栈的栈顶元素,此时,辅助栈的新栈顶元素就是下一个最小值。如下表是栈内压入3,4,2,1,之后两次

2017-07-25 17:11:47 412

原创 用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。编程思路入队列:按顺序将元素依次插入栈1,最先入队列的在栈1的底部;出队列:由于队列是先进先出,因此最先出去的是栈1最底部的元素,由于栈是后进先出,因此,只有上面的元素都出去,最底部的才能出去,这时候,就要用到栈2,把栈1中的元素逐个弹出并压入栈2,则元素在栈2中的顺序和在栈1中

2017-07-25 13:14:56 338

原创 平衡二叉树

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。编程思路1.重复遍历结点多次

2017-07-24 20:54:35 164

原创 二叉树的深度

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。编程思路如果一棵树只有一个结点,则它的深度为1;如果根结点只有左子树或只有右子树,那么树的深度为左子树或右子树的深度加1;如果既有左子树又有右子树,那么树的深度就是左右子树深度的较大值加1,这个思路可用递归的方法实现。程序代码(Java语言

2017-07-24 20:42:28 153

原创 树的子结构

题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)编程思路分为两步:1.在树A中查找和B的根节点的值一样的结点R,这实际上就是树的遍历。2.判断A中以R为根节点的子树是不是和B有相同的结构,同样用递归,如果结点R的值和树B的根结点不相同,则以R为根节点的子树和B肯定不具有相同的结点;如果他们的值相同,则递归地判断他们各

2017-07-24 17:15:57 183

原创 二叉树中和为某一值的路径

题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。编程思路使用前序遍历从根节点到叶结点找到一条路径,若路径之和等于给定的值,则这条路径即为要找的路径,具体实现如下:若根节点为空或根结点的值大于给定的值,则清空路径;若根节点的值等于给定的值,则要判断该结点是否是叶子结点,

2017-07-24 15:27:13 155

原创 二叉搜索树的后序遍历序列

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。编程思路在后序遍历得到的序列中,最后一个数字是树的根节点的值,数组中前面的数字可以分为两部分,第一部分是左子树结点的值,他们都比根节点的值小,第二部分是右子树结点的值,他们都比根节点的值大。因此,对于给定数组,先找到最后一个数作为

2017-07-24 13:40:33 149

原创 重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。编程思路首先,根据给出的前序遍历和中序遍历找出根节点,即为1;然后,根据中序遍历找到左右子树的长度,根节点左边的即为左子树,右边

2017-07-24 10:30:11 144

原创 复杂链表的复制

题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。编程思路1.很直观的解法就是分成两步:1).复制原始链表上的每一个结点,并用next指针连起来。 2).复制random指针

2017-07-22 16:28:49 231

原创 二叉搜索树与双向链表

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。编程思路在搜索二叉树中,左子结点的值总是小于父节点的值,右子节点的值总是大于父节点的值,因此,在转换成排序双向链表时,原先指向左子结点的指针调整为链表中指向前一个结点的值,原先指向右子节点的指针调整为链表中指向后一个结点的指针。先中序遍历树中的每

2017-07-22 14:36:50 187

原创 圆圈中最后剩下的数字(约瑟夫环问题)

题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去

2017-07-22 11:21:50 234

原创 两个链表的第一个公共结点

题目描述输入两个链表,找出它们的第一个公共结点编程思路1.在第一个链表上顺序遍历每一个结点,每遍历到一个结点的时候,在第二个链表上顺序遍历每一个结点。如果在第二个链表上有一个结点和第一个链表上的结点一样,说明两个链表在这个结点上重合,便找到了他们的公共结点。如果,第一个链表的长得为m,第二个的为n,则时间复杂度为O(mn).2.如果两个单向链表有公共结点,那么该结点

2017-07-22 08:51:47 196

原创 合并两个排序链表

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。编程思路两个有序链表1和2,如果1是空链表,则合并后就是链表2,如果2是空链表,则合并后就是链表1,若两个都是空链表,则合并后也是空链表。合并链表1和2,先从他们的头结点开始,若1的头结点的值小于2的头结点的值,则1的头结点就是合并后链表的头结点,接着继续合并两个链表

2017-07-21 22:06:35 206

原创 反转链表

题目描述输入一个链表,反转链表后,输出链表的所有元素。编程思路为了防止反转后的链表出现断裂,一共定义3个指针,分别指向当前遍历到的结点,它的前一个结点和后一个结点。要实现反转,就需要调整链表中指针的方向。当我们在调整结点i的指针时,需要把i的next指向它的前一个结点h,同时,还要事先有一个结点j保存i,以防止链表断开。调整之后会发现,链表的头结点就是原始链表的尾结点。

2017-07-21 20:28:01 182

原创 求链表中倒数第k个结点

题目描述输入一个链表,输出该链表中倒数第k个结点。编程思路由于单链表的结点只有从前往后的指针,没有从后往前的指针,因此,只能从链表头结点开始遍历。假设链表有n个结点,则倒数第k个结点就是从头结点开始第n-k+1个结点。为了实现只遍历一次就能找到倒数第k个结点,需要定义两个指针,第一个从链表的头指针开始遍历向前走k-1,第二个指针不动;从第k步开始,第二个指针也开始从链表的头

2017-07-21 17:45:33 201

原创 在O(1)时间删除链表结点

题目描述给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点。编程思路首先要分析要删除的结点所在的位置,一共有三种可能:头结点(链表只有一个结点),尾结点,中间结点。如果链表只有一个结点,则删除链表的头结点(也是尾结点),就需要把链表的头结点设置为NULL。如果链表有多个结点,要删除尾结点时,就需要从链表的头结点开始,顺序遍历得到该结点的

2017-07-21 16:01:49 467

原创 从头到尾打印链表

题目描述输入一个链表,从尾到头打印链表每个节点的值编程思路 1.用递归实现要实现反过来输出链表,所以每访问到一个结点的时候,先递归输出它后面的结点,再输出该结点自身。2.用栈实现   先要遍历一遍链表,遍历的顺序是从从头到尾,而输出的顺序是从尾到头,也就是第一个遍历的结点最后后一个输出,最后一个遍历的结点第一个输出,即满足栈的”先进后出“。所以用栈实现,每经过一

2017-07-21 11:26:25 329

原创 合并两个排序数组

题目描述有两个排序数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2.实现一个函数,把A2中的所有数字插入到A1并且所有的数字是排序的。编程思路从尾到头比较A1和A2中的数字,并把较大的数字复制到A1的合适位置。程序代码(Java语言)package 合并两个数组;public class Test { public static

2017-07-21 10:10:46 468

原创 字符串替换

题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。编程思路看到这个题,我们首先想到的思路就是从左到右扫描字符串,每一次碰到空格字符就做替换。由于要把1个字符替换成3个字符,就必须把空格后面所有的字符都后移2个字节,否则就有2个字符被覆盖。假设字符串的长度是n,

2017-07-20 21:11:21 322

原创 二维数组中的查找

题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。编程思路首先选取二维数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数字大于要查找的数字,剔除这个数字所在的列;如果该数字小于要查找的数字,剔除这个数字所在的行。也就是说,如果要

2017-07-20 21:06:18 250

原创 <jsp:forward>与response.sendRedirect()页面跳转的区别

与response.sendRedirect()页面跳转的区别        与respose.sendRedirect()是JSP中实现页面跳转的两种方式,他们都能实现从一个页面跳转到另一个页面的功能,那他们有什么区别呢?下面是我对他们的理解如上图所示:

2017-04-12 09:42:14 4308

原创 Cookie和Session

Cookie(记录状态在客户端)     1.基于HTTP协议的无连接性出现的一种保存客户端与服务端间状态的机制    2.保存到客户端的一个文本文件(以“名——值”对的形式保存数据,与特定客户相关   注意:        (1)服务器可以向客户端写内容        (2) 只能是文本内容        (3)客户端可以阻止服务器写入

2017-04-09 21:57:07 174

原创 Servlet的生命周期

Servlet的生命周期1.生命全过程:         (1)加载:ClassLoader   把class 加载进来         (2)实例化: new 一个对象         (3)初始化:重写init(ServletConfig)方法         (4)处理请求:service() /  doGet() / doPost()   后两个用于HTTP协议

2017-04-09 21:24:43 261

原创 单例模式和工厂模式

1.单例模式(Singleton Pattern):         属于创建型模式,涉及到一个单一的类,该类创建了唯一的对象,并提供了访问对象的方式,可直接访问,不需要实例化该类的对象。

2017-04-07 23:11:47 336

原创 排序算法

几种常见的排序算法要求:随机生成100个数,构成一个数组,用不同的排序方法对该数组进行排序。(用Java写的)

2017-04-07 17:45:36 318

转载 css中*{}和body{}的区别

CSS中*{}和body{}的区别*包含body, *一般规定CSS中大家都需要的,比如{margin:0;padding:0} 而body一般规定{font}* 代表所有元素 所以对*设置了属性 也就是对xhtml标签的所有元素设定了属性 而body只是一个标签 但是他是结构标签的开始 所以给他设置的属性 如果之后的标签 有继承属性 那么他就会或者继承body标签允许继承的属性

2017-03-30 20:24:09 758

原创 CSS中的position和float

position和float是css中常用的两个属性,下面是我对它们的理解1.positionposition属性用来指定元素的定位类型,它的值有5种,分别是static、absolute、relative、fixed、sticky。static        这是positions属性的默认取值,意味着这个元素没有也不接受任何对于该元素的位置偏移量属,即top, righ

2017-03-29 20:06:10 566 1

空空如也

空空如也

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

TA关注的人

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