255.用队列实现堆栈
摘要:恢复内容开始 思路:主要是把先进先出变成先进后出,最简单的思路就是每次进去一个元素,把队列里面存在的元素全部给放到这个元素的后面去,让这个元素在队伍首。 这题主要是让我学习了一下java的queue的类,之前一直没有用过java的类。 来个廖雪峰的java学习:https://www.liaoxue
阅读全文
23. 合并K个升序链表(学习了java的自定义比较类)
摘要:给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合
阅读全文
21.合并两个有序链表
摘要:水题,不多做解释了。 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 链接:https://leetcode-cn.com/problems/merge-two-s
阅读全文
138.复制带随机指针的链表
摘要:给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的 深拷贝。 我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val:一个表示 Node.val 的整数。rando
阅读全文
86.分隔链表
摘要:给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5 链接:https://leetc
阅读全文
142.环形链表2——找开始的起点
摘要:给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 链接:https://leetcode-cn
阅读全文
141. 环形链表
摘要:https://leetcode-cn.com/problems/linked-list-cycle/ 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 自己写的方法:
阅读全文
160. 相交链表
摘要:题目:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ 自己的方法:暴力方法: public class Solution { public ListNode getIntersectionNode(ListNode
阅读全文
92.反转链表2
摘要:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明:1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL 自己的理解:需要反转的链表的尾巴节点和它的next还有 头结点和它的p
阅读全文
206. 反转链表
摘要:https://leetcode-cn.com/problems/reverse-linked-list/ 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 自己的想法
阅读全文
Java面向对象基础——多态
摘要:在继承关系中,子类如果定义了一个与父类方法签名完全相同的方法,被称为覆写(Override)。 例如,在Person类中,我们定义了run()方法: class Person { public void run() { System.out.println("Person.run"); } } 在子
阅读全文
Java面向对象基础——继承
摘要:在前面的章节中,我们已经定义了Person类: class Person { private String name; private int age; public String getName() {...} public void setName(String name) {...} publ
阅读全文
Java面向对象基础——重载
摘要:在一个类中,我们可以定义多个方法。如果有一系列方法,它们的功能都是类似的,只有参数有所不同,那么,可以把这一组方法名做成同名方法。例如,在Hello类中,定义多个hello()方法: class Hello { public void hello() { System.out.println("He
阅读全文
Java面向对象基础——构造方法学习
摘要:学习网站:https://www.liaoxuefeng.com/wiki/1252599548343744/1260454185794944 实例在创建时通过new操作符会调用其对应的构造方法,构造方法用于初始化实例; 没有定义构造方法时,编译器会自动创建一个默认的无参数构造方法; 可以定义多个构
阅读全文
Java面向对象——方法(廖雪峰)
摘要:一个class可以包含多个field,例如,我们给Person类就定义了两个field: class Person { public String name; public int age; } 但是,直接把field用public暴露给外部可能会破坏封装性。比如,代码可以这样写: Person m
阅读全文
Java基础——数组
摘要:文章摘自: https://www.liaoxuefeng.com/wiki/1252599548343744/1259543088592672 1.遍历数组的三种方式: public class Main { public static void main(String[] args) { int
阅读全文
Java学习基础——流程
摘要:一、输入与输出 输出 在前面的代码中,我们总是使用System.out.println()来向屏幕输出一些内容。 println是print line的缩写,表示输出并换行。因此,如果输出后不想换行,可以用print(): Java的格式化功能提供了多种占位符,可以把各种数据类型“格式化”成指定的字
阅读全文
Java学习笔记——java基础
摘要:2020.9.1 学习来自 https://www.liaoxuefeng.com/wiki/1252599548343744/1255883729079552 一、变量和数据类型 基本数据类型 基本数据类型是CPU可以直接进行运算的类型。Java定义了以下几种基本数据类型: 整数类型:byte,s
阅读全文