自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《剑指offer》栈的压入、弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路:1. 进行判断,如果序列为空或者两个序列长度不等,返回false2....

2019-10-31 20:39:54 77

原创 《剑指offer》数组中只出现一次的数字

题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:1. 利用HashMap,首先将所有值作为key存起来,如果是只出现一次,value为1,如果出现两次,value为2。2.定义一个变量计数器,然后进行遍历,当通过key获得的value为1时,将值存进第一个num1【0】,count++;再次通过key获得的value为1时,...

2019-10-27 22:20:40 97

原创 《剑指offer》两个链表的第一个公共结点

题目描述输入两个链表,找出它们的第一个公共结点。思路:1.要么两个链表有公共结点,停下来,要么两个链表同时遍历到结尾为空,停下来,否则就一直遍历下去/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; ...

2019-10-26 17:12:38 56

原创 《剑指offer》删除链表中重复的结点

题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路:1. 定义一个头结点,头结点的next指向该链表2.定义一个指针变量pre指向头结点,cur指向头结点的下一个,开始遍历,遍历的过程中删除/*...

2019-10-26 12:01:39 73

原创 《剑指offer》合并两个排序的链表

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路:1.先定义一个头结点2.定义一个辅助变量指向头结点3.如果list.val小于list2.val,则辅助变量的next先指向list1,否则相反4.最后记得,有个节点没有处理/*public class ListNode { int val; Li...

2019-10-20 20:27:26 72

原创 《剑指offer》反转链表

题目描述输入一个链表,反转链表后,输出新链表的表头。思路:1. 定义一个新的头结点,然后使用头插法进行。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class So...

2019-10-19 17:23:16 77

原创 《剑指offer》链表中倒数第k个节点

题目描述输入一个链表,输出该链表中倒数第k个结点。思路:1. 先计算出该链表的长度2. 使用辅助指针指向第一个节点,遍历长度-k次就是倒数第k个节点。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val;...

2019-10-19 17:20:08 61

原创 重载和重写的区别

1. 重载是类里的多态,函数的参数个数、顺序和类型有一个不同,重载函数之间属于水平关系属于编译时的多态;而重写是父类和子类的关系属于垂直关系,属于运行时的多态。2. 重写的返回值类型必须相同,重载不能通过返回值区分,因为返回值不固定。3. 重写抛出的异常,小于等于父类的异常,属于父类的子类。...

2019-10-17 22:49:47 147

原创 java中抽象类和接口的区别

首先,含有抽象方法的类叫做抽象类,用关键字abstract修饰,抽象类中的方法只定义,没有实现,如果子类要继承抽象类,必须实现抽象类中的方法,否则子类还是抽象类,抽象类前是public或者protected,不能是private,否则子类无法继承,抽象类无法创建对象。其次,接口是特殊的抽象类,里面的方法全部是抽象方法,前面是public abstract,不能是private或者是protec...

2019-10-13 21:41:42 90

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

题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。思路:1 这里直接给的第一个节点,不是给的头结点,需要注意2 需要从尾到头打印,也就是先进后出FILO,list.add(index,value),每次将值插入到index为0的位置,就可以倒着打出来/*** public class ListNode {* int val;* ...

2019-10-11 22:41:12 45

原创 《剑指offer》跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路:另类的斐波那契,跳到第n个台阶,需要的跳法两种,一种是从第n-1阶跳一层,一种是n-2阶跳两层,但因为这个不是从0开始,而是从1开始的,所以略微有点小变动。public class Solution { public int JumpFloor(i...

2019-10-10 17:33:46 56

原创 《剑指offer》斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39思路:如果用递归,优化太慢了,因为求第n项的值,所以值需要存储n-1项和n-2项即可。public class Solution { public int Fibonacci(int n) { if(n==0){ ...

2019-10-10 17:19:01 53

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

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。题解一(暴力解法):public class Solution { public boolean Find(int target,int[][] array) { ...

2019-10-09 20:04:35 72

原创 《剑指offer》替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。题解一:public class Solution { public String replaceSpace(StringBuffer str){ StringBuilder sb = new...

2019-10-09 11:46:54 59

原创 leetcode 1 两数之和

给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class ...

2019-10-07 22:09:53 57

空空如也

空空如也

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

TA关注的人

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