我的力扣笔记

++left和left++有什么区别?

[C语言编程 —— 左值与右值、i++与++i_天上掉下个猪八戒~的博客-CSDN博客_c语言左加加](https://blog.csdn.net/m0_60337039/article/details/123631386?ops_request_misc=&request_id=&biz_id=102&utm_term= ++左边和右边++有什么区别&spm=1018.2226.3001.4187)

i–和–i的区别_张铎(信念)的博客-CSDN博客_i–和–i的区别

length&length()&size()区别?

Java中length、length()、size()区别_Techyu的博客-CSDN博客_int len=str.length为什么报错

  • nums.length; (数组类)
  • str.length(); (字符类)

java中num.length

java基础之length和length()区别_田小当的博客-CSDN博客

[java -length的三种用法_Q2294365315的博客-CSDN博客_java length](https://blog.csdn.net/weixin_37770552/article/details/77428740?ops_request_misc=%7B%22request%5Fid%22%3A%22166917486916782425191373%22%2C%22scm%22%3A%2220140713.130102334…%22%7D&request_id=166917486916782425191373&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-77428740-null-null.142v66control,201v3control_1,213v2t3_esquery_v1&utm_term=java length&spm=1018.2226.3001.4187)

揭开Java中length、length()、size()的神秘面纱_你看这人,真菜的博客-CSDN博客

java"-="是什么?

java -= 是什么意思_java-=是什么意思_考试点的博客-CSDN博客

复合赋值运算符“+=、-=、*=、/=、%=”详解_代码先敲住的博客-CSDN博客_复合赋值运算符

java"=="如何理解?

Java中 == 的使用_1941s的博客-CSDN博客_java==

Integer.MAX_VALUE的含义

Integer.MAX_VALUE的含义_我的电脑lo的博客-CSDN博客_integer.max_value

if语句中 == 与 = 号的区别

if语句中 == 与 = 号的区别_用C站记笔记的博客-CSDN博客

java中new ListNode(0)常见用法详细区别(全)

java中new ListNode(0)常见用法详细区别(全)_码农研究僧的博客-CSDN博客_listnode(0, head)

IDEA使用注释技巧_KonBAI-Q的博客-CSDN博客_idea注释

Java定义链表节点方式_碳烤小肥羊。。。的博客-CSDN博客_java定义链表节点

史上最全的IDEA快捷键总结_扬帆向海 的博客-CSDN博客_idea快捷键

关于idea上LeetCode插件, java.lang.NoSuchMethodError: ‘ListNode ListNode.deserialize(java.lang.String)‘ 问题_zzzgd816的博客-CSDN博客

提交区外就是end外边

n=size-1就是链表的最后一个元素

关于Return

C++中return 0;与return;的区别_l198738655的博客-CSDN博客_return;

return 0和return的区别_manong_1314的博客-CSDN博客_直接return和return 0

return的作用_春风欲雨的博客-CSDN博客_return语句的作用

return的几种含义_彭华成的博客-CSDN博客_return的含义

return可以返回数组和指针

return res;(res是数组)			//可以返回整个数组
return dummy.next;			 //可以返回整个链表

c语言中函数参数处理顺序_一定迟到逗的博客-CSDN博客_函数参数调用顺序

c语言中函数参数处理顺序以及默认参数原则_水无垠ZZU的博客-CSDN博客

C、C++、JAVA函数传参顺序_中小庸的博客-CSDN博客

JAVA函数中的参数传递规律_jinchange的博客-CSDN博客_java函数的参数传递规定

(一个问题找答案只能用五分钟,五分钟找不到答案就不要死耗着,就用假设法,等以后经验到了,自然会有答案)

关键是卡尔在视频里自己讲错了…算了至少知道Java是从左到右,C/C++是从右到左也是因祸得福

image-20221126114135077

新建一个(虚拟)结点(为0不是空)

 ListNode dummyNode = new ListNode(0)

dummyhead和head默认是存在指针的

建立指针

image-20221126120456274 image-20221126120613416

返回操作过的链表即返回头结点就可以

return prev;

输出:[5,4,3,2,1]

image-20221126121136392

以后记住,这两个箭头就知道指针怎么指向

image-20221126121903473

递归调用的实参是右边的"赋值"

image-20221126122631079

力扣自提供的单链表定义(要自己会定义)

image-20221126134033589

有"虚拟头结点"时候,这样返回"头结点" (万一删除的是"头结点"就不能return head)

return dummyNode.next;

[Java中&和&&的区别_weixin_44548725的博客-CSDN博客_java中&和&&有什么区别](https://blog.csdn.net/weixin_44548725/article/details/118691949?ops_request_misc=&request_id=&biz_id=102&utm_term=java &utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-118691949.nonecase&spm=1018.2226.3001.4187)

循环n次的写法(java)

  • while(n–>0);
  • for(i=0;i<n;i++);
  • for(i=0;i<nums.length;i++); (在数组中)

Java 中“while (n–>0)” 和 “while (n! =0)”区别 - 知乎 (zhihu.com)

[while (n-- > 0) 的用法_骑着蜗牛@you的博客-CSDN博客_while(t–>0)](https://blog.csdn.net/you18131371836/article/details/55808095?ops_request_misc=%7B%22request%5Fid%22%3A%22166944582916800213086898%22%2C%22scm%22%3A%2220140713.130102334.pc%5Fall.%22%7D&request_id=166944582916800213086898&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-4-55808095-null-null.142v66control,201v3control_1,213v2t3_esquery_v1&utm_term=java n–&spm=1018.2226.3001.4187)

之所以没写对while循环是没有判断左边的终止条件(n–没有写>0)

while (n-- > 0 && fast != null)

没有视频讲解(没讲):先把卡哥带视频的看了没看的先记录下来(方便先养成思维):

  • 链表:7:链表相交
  • 哈希表: 4:快乐数
  • 哈希表: 7:赎金信
  • 字符串: 3:替换空格
  • 字符串: 4:翻转单词(太难了,要多看)
  • 字符串: 5.左旋转字符串
  • 字符串: 6.实现strStrO)(KMP)(太难了,以后看+印度三哥的)
  • 【栈与队列】整体学完了数据结构再来看

fast!=null也包含了fast.next.next!=null的情况(fast走两步,环形链表)

while (fast!=null&&fast.next!=null){

Java中!=必须连着

fast !=null

Ascii完整码表(256个)_东江一笑的博客-CSDN博客_ascii码表

英文字母共26个

java中的charAt(i)函数_天才小熊猫啊的博客-CSDN博客_charat(1)

  • 也是string类的一个方法

[for(int a:b)在C++中的作用_李昊19961128的博客-CSDN博客](https://blog.csdn.net/weixin_43956456/article/details/105555148?ops_request_misc=%7B%22request%5Fid%22%3A%22166952020916782390547146%22%2C%22scm%22%3A%2220140713.130102334…%22%7D&request_id=166952020916782390547146&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-105555148-null-null.142v66control,201v3control_1,213v2t3_esquery_v1&utm_term=int a%3Ab&spm=1018.2226.3001.4187)

还是应该多看看Java基础,stream流都不知道是什么,集合泛型也学的一团糟(看面经之外的空闲时间,在这期间,不要停止刷题,而是用假设法,不然遇到困难就停止,再开启需要很大的勇气)

Java中Set的contains()方法_Violet-Guo的博客-CSDN博客_set.contains

集合类体系结构

image-20221127144320851

Collection集合常用方法

image-20221127144611140

基本和引用数据类型

java中引用类型和基本类型的区别_Qz青竹的博客-CSDN博客_java引用类型和基本类型的区别

Java中的基本类型和引用类型_夜雨聽風眠的博客-CSDN博客_java 引用类型和基础类型

Java泛型详解,史上最全图文详解_mikechen的互联网架构的博客-CSDN博客_泛型java

Java泛型详解,史上最全图文详解_mikechen的互联网架构的博客-CSDN博客_泛型java

Set是接口(Ctrl+左键看源码),new出来的是它的实现类

image-20221127165058982 image-20221127165356326

(即这一部分)

史上最全的IDEA快捷键总结_扬帆向海 的博客-CSDN博客_idea快捷键

Typora常用快捷键(详细)_杨青葱的博客-CSDN博客_typora预览快捷键

Typora快捷跳转页面

  • ctrl+fn+home/end

Typora高亮颜色设置_枫叶的博客-CSDN博客_typora高亮颜色

科学上最令人舒服的十种颜色(RGB)_会编程的橙子先生的博客-CSDN博客_科技蓝rgb

Markdown 语法手册 (完整整理版)_witnessai1的博客-CSDN博客_markdown语法手册完整整理版

所有的单列集合都可以用迭代器遍历

set没有索引,只能通过迭代器iterator和增强for遍历

即可出现增强for(set为名称,例如stu.for)

或者直接输入fori,也可以

(下面的快捷键博客超级实用)

idea 快捷键系列(一)增强for循环_孔汤姆的博客-CSDN博客_idea增强for快捷键

set.for
image-20221127171319145

增强for的选择不同,fori是遍历,for是增强for

image-20221128165336498

TreeSet集合来存储Integer类型

image-20221127172012387

标准JavaBean的快捷代码(ALt+Insert)

  • constructer不选择(即按两下Tab)生成空参构造
  • constructer都选择,生成带This关键字的带两个参的函数
  • setter和getter方法
  • tostring

Treeset集合来存储Student类型

image-20221127175840229
  • (前提是自己先定义好了Student类)
image-20221127175853002

使用迭代器进行遍历Set的方法

image-20221127181128002

image-20221127181209288(进行代码补齐)

image-20221127181311586

Map是一个集合,不能直接创建对象,只能使用多态的形式,具体的实现类是HashMap

image-20221127185529517

(学号和姓名都是String型)

Map使用Put方法来添加元素(别忘记“ ”)

image-20221127185704321 image-20221127185744956

Map集合的基本功能

image-20221128144743910

Map集合的获取功能(第一种:根据每个键获得每个值)

image-20221127191855341

Map集合获取过程

(map.keyset 会自动补全前面)

image-20221127192151159

Map集合的获取功能(第二种:根据每个Entry对象获得每个键和值)

image-20221127193104675 image-20221127193558105

entry在Java中叫做键值对对象

List集合特点

image-20221127195416622

List本身是接口,不能直接new,要new它的实现类(多态方式)

image-20221127195523830

(以后使用集合时候,该是什么类型,前面就用什么类型去接收就行)

泛型和add内的参数是一一对应的

image-20221127195956268

List集合特有方法

image-20221127200150478

LinkedList集合的特有功能

image-20221127200727326

TreeSet:集合特点

image-20221128132549699

HashSet集合概述和特点

image-20221128132748826

TreeSet一共两种排序方法

(第一种)自然排序Comparablel的使用

image-20221128133009359

1.使用空参构造创建TreeSet集合

image-20221128133636411

2.自定义的Student类实现Comparable接口

(集合内是什么类型的.泛型就是什么类型的)

image-20221128133453699

3.重写里面的compareTo方法(在Student类里面)(Alt+insert)

image-20221128133513434

(第二种)比较器排序待学

JDK1.8 HashMap和TreeMap区别,读懂这一篇就够了_张伯毅的博客-CSDN博客_treemap和hashmap区别1.8

关于Hashmap和Treemap什么时候用?

  • 需要得到一个有序的结果时就应该使用TreeMap(因为HashMap中元素的排列顺序是不固定的)。除此之外,由于HashMap有更好的性能,所以大多不需要排序的时候我们会使用HashMap

03面试常问:如何决定使用 HashMap 还是 TreeMap?_AI乔治的博客-CSDN博客

java中数组的定义

java中数组的定义与使用_满眼*星辰的博客-CSDN博客_java定义数组image-20221128145244661

map中的value

  • 不能直接写,只能用key获取,即只能写成以下的格式

  • map.get(temp);   //temp是Key,得到的结果是Value
    

潜移默化记忆:Map中是否包含Key~同理map.containsValue(Value)

map.containsKey(key)     //返回的是Boolean值

java中获取map的key和value的方法

hashmap 允许key重复吗

  • Java的HashMap中key是不可以重复的,如果重复添加的话,HashMap会自动覆盖key一样的数据,保证一个key对应一个value

hashmap 允许key重复吗_Java HashMap key 可以重复吗?_weixin_39843093的博客-CSDN博客

Java_二维数组(非常详细)_林二月er的博客-CSDN博客_csdn 林二月er

break和continue的作用和区别是什么?_陈木舟的博客-CSDN博客_break和continue的作用和区别

Java 之 List>_牛客博客 (nowcoder.net)

泛型参数加不加是等价的

image-20221128184409035

List<List<Integer>>???_qq_45653618的博客-CSDN博客

学习List…

[ArrayList 二维数组_绝杀fc小飞侠的博客-CSDN博客_arraylist二维数组](https://blog.csdn.net/allen_fan_01/article/details/8775284?ops_request_misc=%7B%22request%5Fid%22%3A%22166968628616782428688921%22%2C%22scm%22%3A%2220140713.130102334…%22%7D&request_id=166968628616782428688921&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-8775284-null-null.142v67control,201v3control_1,213v2t3_esquery_v1&utm_term=arrlist 二维数组&spm=1018.2226.3001.4187)

创建Collection集合的对象(因为collection是一个接口,接口是不能被new的,new的是它的实现类)

  • 多态的方式
  • 具体的实现类ArrayList

image-20221129100548279

Collection集合常用方法

image-20221129100316408

创建内部类对象的格式

image-20221129101817238

暂存LeetCode(因为有的题里面知识点很多,为了不影响进度,所以,就先存下来,以后再研究)

  • 哈希表 :三数之和
  • 哈希表 :四数之和

Java 位运算(移位、位与、或、异或、非)_Ely的博客-CSDN博客_java 位操作

数组的起始下标为0,最后一个元素的下标为lenth-1

image-20221129113340347

卡尔说边界性的问题需要自己带入:

  • 例如,为什么终止条件是

    i<lenth/2;
    

    可以自己分别带入4和5进去看看

image-20221129114218976

temp未指定类型,不能直接用,char后面也没有[]

image-20221129114858051 image-20221129114909117 image-20221129121835701

编程语言的库函数都是左闭右开的

Reverse(s,i,i+k),即:[i,i+k)

java的char数组初始化

[toCharArray()方法和 split()方法_Black-S的博客-CSDN博客_tochararray](https://blog.csdn.net/qq_55894557/article/details/123992821?ops_request_misc=%7B%22request%5Fid%22%3A%22166970314916782390556511%22%2C%22scm%22%3A%2220140713.130102334…%22%7D&request_id=166970314916782390556511&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-123992821-null-null.142v67control,201v3control_1,213v2t3_esquery_v1&utm_term=char[] ch %3D s.toCharArray()&spm=1018.2226.3001.4187)

[java的char数组初始化_ChesterHu的博客-CSDN博客_java char数组](https://blog.csdn.net/wo1211061560031/article/details/70153575?ops_request_misc=&request_id=&biz_id=102&utm_term=java char初始&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-70153575.142v67control,201v3control_1,213v2t3_esquery_v1&spm=1018.2226.3001.4187)

char a[]={‘1’,‘2’,‘3’};//可以不指定char类型的个数,

    char []b={'1','2','3'};

    char []c=new char[]{'1','2','3'};

    char []d=new char[3];
    d[0]='1';
    d[1]='2';
    d[2]='3';
    /*个人觉得如果是java代码开发就写第三种*/

new string(ch)

猜想会吧数组ch,变成字符串

StringBuilder的用法:

[StringBuilder sb = new StringBuilder(); 请问这句话在程序中起到什么作用? 请问这句话的意思是什么?_ruiguang21的博客-CSDN博客](https://blog.csdn.net/ruiguang21/article/details/53728944?ops_request_misc=%7B%22request%5Fid%22%3A%22166970962316782429769338%22%2C%22scm%22%3A%2220140713.130102334.pc%5Fall.%22%7D&request_id=166970962316782429769338&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-2-53728944-null-null.142v67control,201v3control_1,213v2t3_esquery_v1&utm_term=StringBuilder sb %3D new StringBuilder()&spm=1018.2226.3001.4187)

[StringBuilder类常用方法总结(含与string类相同方法的使用对比)_小田同学卷代码的博客-CSDN博客_stringbuilder常用方法](https://blog.csdn.net/m0_60982956/article/details/123052151?ops_request_misc=%7B%22request%5Fid%22%3A%22166970962316782429766251%22%2C%22scm%22%3A%2220140713.130102334…%22%7D&request_id=166970962316782429766251&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-123052151-null-null.142v67control,201v3control_1,213v2t3_esquery_v1&utm_term=StringBuilder sb %3D new StringBuilder()&spm=1018.2226.3001.4187)

String,StringBuilder和StringBuffer的区别_橙子笔记的博客-CSDN博客_stringbuilder和string的区别

内部类的访问特点

image-20221129171343712

成员内部类中的private和static关键字(即:私有成员内部类和静态成员内部类)

image-20221129172204939

局部内部类

image-20221129182949216

匿名内部类

image-20221129184004700

ArrayList类常用方法【应用】

image-20221129185635237

666解压密码:

666java.com

Java中常见的八种数据结构_马小瑄的博客-CSDN博客_java数据结构

要学会基础数据结构的定义,不然面试让你手写你就会发蒙

二叉树遍历方式:

前中后,指的是,中结点的位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值