链表
kekeoneone
offeroffer
展开
-
LeetCode-445-链表求和,两数正序相加-Java
给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示例:输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -&...原创 2020-04-14 20:58:09 · 335 阅读 · 0 评论 -
LeetCode-86-分隔链表——Java
题目:给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5解题思路:使用两个链表,一个小于给性值,一个大于等于,最后连接...原创 2020-04-14 20:49:48 · 153 阅读 · 0 评论 -
LeetCode-160-相交链表题解
相交链表:1.暴力法:比较的是地址,每次循环完后,记得重新更新头结点;2.HashSet法:3.浪漫法:指针相遇 public ListNode getIntersectionNode(ListNode headA, ListNode headB) { if(headA==null||headB==null) return null; ListNode pA=head...原创 2020-04-14 20:20:42 · 88 阅读 · 0 评论 -
leetcode反转链表思考(Java)
**题目描述:**反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL思考:注意:我们平时在写链表的时候,总会写一个头结点,但是!!!头结点我们需要给他初始化,即需要给他赋初始值,否则当我们使用head.next时,就会报空指针异常。但是仔细看题目,return ...原创 2020-04-13 20:57:49 · 89 阅读 · 0 评论 -
约瑟夫环
1.注意setter和getter方法的使用,增添修改时,set,调用是get。注意,不写这个,公众的点就行。这是公众流行的一种书写形式。package com;import java.sql.SQLOutput;import java.util.Stack;public class Demo { public static void main(String[] args) ...原创 2020-03-19 18:17:37 · 60 阅读 · 0 评论 -
双向链表
1.注意:在增删改时,我们都需要判定temp.next是否为空,即用到next,查的时候,直接用本身即可。2.双向链表:与单链表最大的不同就是双向链表可以实现自我删除, 即直接找到要要删除的结点即可。还记得在做单链表时,我们总要找到他的前一个结点。3.双向链表除了删除不太一样,其余和单链表差不多。4.附上代码://双向链表实现自我删除 public void del(In...原创 2020-03-20 18:03:50 · 63 阅读 · 0 评论 -
链表应用:逆序,翻转,获取长度和倒数第K个结点
1.获取长度(其实本质就是遍历)2.获取倒数第k个结点3.链表翻转4.链表逆序(利用栈的特点)package com;import java.util.Stack;public class Demo { public static void main(String[] args) { Demo demo=new Demo(); Node...原创 2020-03-19 09:51:34 · 102 阅读 · 0 评论 -
单链表之增删改查
1.java中构造方法的含义:一个与当前类同名的方法成为构造方法。构造方法的特点:1、与当前类同名;2、没有返回值;3.一旦自定义构造方法后,系统将不再自动生成无参数的构造方法;4.不能加void定义类型,它的无返回值与void不同,若用void定义类型,则系统不会将其认定为构造方法,即不会再需要时自动调用构造方法的作用:在类的实例对象刚产生时,该类中的构造方法将会被自动调用,我...原创 2020-03-20 18:04:16 · 281 阅读 · 0 评论