自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 链表的基本解题办法

一.快慢指针快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。例如可以让快指针每次沿链表向前移动2,慢指针每次向前移动1次。他主要用于下面三种情景:1.判断链表中是否有环题目内容为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head =

2020-08-09 19:54:37 171

原创 集合-Collection和Iterate接口

java集合通常,我们的Java程序需要根据程序运行时才知道创建了多少个对象。但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型。为了满足这些常规的编程需要,我们要求能在任何时候,任何地点创建任意数量的对象,而这些对象用什么来容纳呢?我们首先想到了数组,但是!数组只能存放同一类型的数据,而且其长度是固定的,那怎么办了?集合便应运而生了。Java集合类存放在java.util包中,是一个用来存放对象的容器。注意:1.集合只能存放对象。比如你存入一个int型数据

2020-06-28 18:52:12 196

原创 lambda表达式

lambda表达式是java8的新特性,lambda表达式支持将代码块作为方法参数,lambda表达式允许使用更简洁的代码来创建只有一个抽象方法的接口的实例。lambda表达式的主要作用就是代替匿名内部类的繁琐语法,它由三部分组成:1.形参列表。形参列表允许省略形参类型。如果形参列表中只有一个参数,甚至连形参列表的圆括号也可以省略。2.箭头(->)必须通过英文中划线和大于符号组成。3代码块。如果代码块只包含一条语句,lambda表达式允许省略代码块的花括号,那么这条语句就不要用花括号表示语句结

2020-06-21 18:49:17 1200

原创 队列的概念和基本操作 c语言

什么是队列队列的概念对于队列,它也是一种受限制的线性表。(即特殊的线性表)队列是限定所有的插入操作在表的一端进行,而删除操作在表的另一端进行的线性表。允许进行插入的一端为队尾。允许进行删除的一段为对头。它具有先进先出的特性。正好与栈相反。假设队列是q=(a1,a2,…,an),那么a1就是队头元素,而an是队尾元素。这样我们就可以删除时,总是从a1开始,而插入时,列在最后。这也比较...

2020-05-11 18:15:13 377

原创 对撞指针

对撞指针是双指针的一种。对撞指针是指在有序数组中,将指向最左侧的索引定义为左指针(left),最右侧的定义为右指针(right),然后从两头向中间进行数组遍历。对撞数组适用于有序数组,也就是说当你遇到题目给定有序数组时,应该第一时间想到用对撞指针解题。例题167. 两数之和 II - 输入有序数组给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下...

2020-05-05 23:17:57 1006

原创 栈的概念与基本操作(详解)(c语言)

栈?什么是栈? 栈的概念栈是一种受约束的线性表,即特殊的线性表。栈又称为堆栈。更详细的来讲:栈是一种限定性线性表,是将线性表的插入和删除运算限制在仅为表的一端进行。栈是一种先入后出,后入先出的结构。为了详细的表示栈,我找了个图。在图中,里面的元素是依次按a1,a2,·····an放入的,当出栈是an先出来,a1最后出来,达到了先入后出,先出后入的目的。栈的基本操作栈只能在一段(即栈...

2020-04-28 21:53:45 1785 1

原创 Leetcode 面试题22. 链表中倒数第k个节点

面试题22. 链表中倒数第k个节点输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.思路...

2020-04-26 22:59:04 255

原创 Leetcode 237. 删除链表中的节点

题目请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:...

2020-04-25 00:09:05 100

原创 快指针 慢指针

今天刷力扣刷到了一道有趣的题,它涉及快慢指针,是我以前没有遇到过的,这次遇到就把它学会。给定一个链表,判断链表中是否有环。题目内容为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连...

2020-04-24 19:00:48 278

原创 leetcode 20. 有效的括号

20 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:...

2020-04-23 21:47:58 106

原创 leetcode 21. 合并两个有序链表

21. 合并两个有序链表将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路:将两个链表遍历放入一个数组中,再将数组排序,再放入一个新建的链表中。struct ListNode* mergeTwoLi...

2020-04-23 21:25:13 123

空空如也

空空如也

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

TA关注的人

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