++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)
提交区外就是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++是从右到左也是因祸得福
新建一个(虚拟)结点(为0不是空)
ListNode dummyNode = new ListNode(0)
dummyhead和head默认是存在指针的
建立指针
返回操作过的链表即返回头结点就可以
return prev;
输出:[5,4,3,2,1]
以后记住,这两个箭头就知道指针怎么指向
递归调用的实参是右边的"赋值"
力扣自提供的单链表定义(要自己会定义)
有"虚拟头结点"时候,这样返回"头结点" (万一删除的是"头结点"就不能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
英文字母共26个
- 也是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流都不知道是什么,集合泛型也学的一团糟(看面经之外的空闲时间,在这期间,不要停止刷题,而是用假设法,不然遇到困难就停止,再开启需要很大的勇气)
集合类体系结构
Collection集合常用方法
基本和引用数据类型
java中引用类型和基本类型的区别_Qz青竹的博客-CSDN博客_java引用类型和基本类型的区别
Java中的基本类型和引用类型_夜雨聽風眠的博客-CSDN博客_java 引用类型和基础类型
Set是接口(Ctrl+左键看源码),new出来的是它的实现类
(即这一部分)
Typora快捷跳转页面
- ctrl+fn+home/end
Markdown 语法手册 (完整整理版)_witnessai1的博客-CSDN博客_markdown语法手册完整整理版
所有的单列集合都可以用迭代器遍历
set没有索引,只能通过迭代器iterator和增强for遍历
即可出现增强for(set为名称,例如stu.for)
或者直接输入fori,也可以
(下面的快捷键博客超级实用)
set.for
增强for的选择不同,fori是遍历,for是增强for
TreeSet集合来存储Integer类型
标准JavaBean的快捷代码(ALt+Insert)
- constructer不选择(即按两下Tab)生成空参构造
- constructer都选择,生成带This关键字的带两个参的函数
- setter和getter方法
- tostring
Treeset集合来存储Student类型
- (前提是自己先定义好了Student类)
使用迭代器进行遍历Set的方法
(进行代码补齐)
Map是一个集合,不能直接创建对象,只能使用多态的形式,具体的实现类是HashMap
(学号和姓名都是String型)
Map使用Put方法来添加元素(别忘记“ ”)
Map集合的基本功能
Map集合的获取功能(第一种:根据每个键获得每个值)
Map集合获取过程
(map.keyset 会自动补全前面)
Map集合的获取功能(第二种:根据每个Entry对象获得每个键和值)
entry在Java中叫做键值对对象
List集合特点
List本身是接口,不能直接new,要new它的实现类(多态方式)
(以后使用集合时候,该是什么类型,前面就用什么类型去接收就行)
泛型和add内的参数是一一对应的
List集合特有方法
LinkedList集合的特有功能
TreeSet:集合特点
HashSet集合概述和特点
TreeSet一共两种排序方法
(第一种)自然排序Comparablel的使用
1.使用空参构造创建TreeSet集合
2.自定义的Student类实现Comparable接口
(集合内是什么类型的.泛型就是什么类型的)
3.重写里面的compareTo方法(在Student类里面)(Alt+insert)
(第二种)比较器排序待学
JDK1.8 HashMap和TreeMap区别,读懂这一篇就够了_张伯毅的博客-CSDN博客_treemap和hashmap区别1.8
关于Hashmap和Treemap什么时候用?
- 需要得到一个有序的结果时就应该使用TreeMap(因为HashMap中元素的排列顺序是不固定的)。除此之外,由于HashMap有更好的性能,所以大多不需要排序的时候我们会使用HashMap
03面试常问:如何决定使用 HashMap 还是 TreeMap?_AI乔治的博客-CSDN博客
java中数组的定义
map中的value
-
不能直接写,只能用key获取,即只能写成以下的格式
-
map.get(temp); //temp是Key,得到的结果是Value
潜移默化记忆:Map中是否包含Key~同理map.containsValue(Value)
map.containsKey(key) //返回的是Boolean值
java中获取map的key和value的方法
- java中获取map的key和value的方法_SuperPurse的博客-CSDN博客_获取map的key和value
- Map四种获取key和value值的方法,以及对map中的元素排序_笨驴鱼的博客-CSDN博客_获取map的value值
hashmap 允许key重复吗
- Java的HashMap中key是不可以重复的,如果重复添加的话,HashMap会自动覆盖key一样的数据,保证一个key对应一个value
hashmap 允许key重复吗_Java HashMap key 可以重复吗?_weixin_39843093的博客-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
Collection集合常用方法
创建内部类对象的格式
暂存LeetCode(因为有的题里面知识点很多,为了不影响进度,所以,就先存下来,以后再研究)
- 哈希表 :三数之和
- 哈希表 :四数之和
数组的起始下标为0,最后一个元素的下标为lenth-1
卡尔说边界性的问题需要自己带入:
例如,为什么终止条件是
i<lenth/2;
可以自己分别带入4和5进去看看
temp未指定类型,不能直接用,char后面也没有[]
编程语言的库函数都是左闭右开的
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的区别
内部类的访问特点
成员内部类中的private和static关键字(即:私有成员内部类和静态成员内部类)
局部内部类
匿名内部类
ArrayList类常用方法【应用】
666解压密码:
666java.com
要学会基础数据结构的定义,不然面试让你手写你就会发蒙
二叉树遍历方式:
前中后,指的是,中结点的位置