- 博客(15)
- 收藏
- 关注
原创 代码随想录——二叉树的遍历方式
这里用链表来进行定义,二叉树的定义和链表是差不多的,相对于链表 ,二叉树的节点里多了一个指针,有两个指针,分别指向左右孩子。一棵树由根节点、左孩子、右孩子构成。根节点是一个结点,是int类型,左右孩子是TreeNode类型,即泛指左右子树。int val;// 根节点的值// 左子树// 右子树TreeNode(int val, TreeNode left, TreeNode right) { // 分别有根节点,左孩子、右孩子。
2024-08-23 17:50:44
1040
原创 代码随想录——栈与队列
弹出元素时,比较当前要弹出的数值是否等于队列出口的数值,如果相等则弹出:因为如果不相等的话,就说明这个元素已经不在队列中了,所以就不用进行操作了。// 首先定义一个队列(自定义压入、弹出、取最大值)// 定义一个队列//弹出元素时,比较当前要弹出的数值是否等于队列出口的数值,如果相等则弹出if (!//添加元素时,如果要添加的元素大于入口处的元素,就将入口元素弹出,直到小于等于while (!// 大于队口元素,就移除队口元素,这里直接用函数实现// 然后再把当前元素压入队列。
2024-08-21 17:36:17
999
原创 代码随想录——哈希表
遍历数组nums,每次遍历到nums[i]的时候,目标就是看target-nums[i]这个值是否在map中,如果在就是找到了,如果不在,就把nums[i]的值和下标存进map。比如nums=[1,0,-1,0,-2,2],target=0,返回 [ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2] ]简单来说,要是数值个数比较小,可控,就用数组。比如输入nums=[-1,0,1,2,-1,-4],输出[ [-1,-1,2] , [-1,0,1] ]
2024-08-09 18:41:16
788
原创 JAVA基础——面向对象编程(中级)(韩顺平P264-P361)
IDEA是一个比较好的开发工具(IDE指集成开发环境是JetBrains公司的产品(位于捷克)支持java开发,还支持HTML、CSS、PHP、MySQL、Python等后面会再讲Eclipse(也是集成开发工具),由IBM公司开发的,是免费的。IDEA如果是Ultimate版本就只有30天试用期,要不就下Community版本IDEA是以项目project的概念来管理java源码的,所以要创建java项目。步骤:file-新建项目,选择JAVA类别的。然后创建好了之后—
2024-08-09 16:08:37
1975
原创 JAVA基础——面向对象编程(基础)(韩顺平P192-P263)
场景:比如要进行同样的操作,比如都是加法。要对100组数进行相加。一个个单独写加法没有必要,不利于数据的管理,而且效率低,所以就可以专门来写一个方法,来形成统一的操作。java设计者引入类与对象(OOP编程),根本原因是基础的奇数,不能完美解决新的需求。一个程序就是一个世界,有很多事物(即:对象[属性,行为])比如:小狗[年龄,吃饭]类:int这种是java系统提供的数据类型,像下面“猫”这种定义的类,就是自定义的数据类型。对象(实例):int这个数据类型可以对应很多数,比如10,20。
2024-08-05 20:03:00
945
原创 代码随想录——链表
定义:链表是一种通过指针串联在一起的线性结构(这里的指针只是一个概念,跟JAVA里面有没有指针无关)每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针)。有几种类型的链表:如下图。每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点既可以向前查询,也可以向后查询。顾名思义,就是链表首尾相连。public class ListNode { // 这个类有下面3个方法int val;// 结点的值。
2024-08-05 11:27:31
1826
原创 JAVA基础——数组、排序和查找(韩顺平P155-P191)
应用场景:比如说要开发五子棋盘,就需要二维的。可以理解为:二维数组的每个元素都是一个一维数组(数组里面套数组)// 4*5的i++){ // 相当于对第一个维度的遍历,4个j++){ // 得到具体第二个维度下的元素个数// 换个行。
2024-07-31 17:14:48
875
原创 代码随想录——数组
同样道理,更新的时候,因为right是没有包含的。所以在更新左边界的时候,因为左闭,又已经确定了middle不为目标值,所以left=middle+1。给定n,生成的矩阵就是n*n的,数字就是从1~n^2螺旋排列的。即二维数组的每一行头结点的地址是没有规则的(每一行内部是连续的,但是每一行随机存储)[ ) 所以while里面必须left
2024-07-17 22:52:56
680
原创 JAVA基础——变量(韩顺平P35-P62)
类型+名称+值比如:int a=1;(这时会在计算机的内存里分配一个空间,里面放了一个值1)(不允许在一个作用域(比如一个方法里)里面定义两个一样名字的变量变量相当于内存中一个数据存储空间的表示(可以把变量当作房间的门牌号,可以通过变量访问到变量值变量使用的基本步骤:声明变量+赋值,使用。不同的变量、类型不同,占用的空间大小不同。8种基本数据类型默认为int型,如果要声明长整型,后面要加l或L浮点数=符号位+指数位+尾数位。
2024-07-16 21:32:18
1009
原创 JAVA基础——JAVA概述(韩顺平P1-P34)
1、第一个版本是1995年发布的,创始人是gosling。现在属于甲骨文公司。java8是目前大多数公司使用的版本(虽然现在最新到了版本15)java11也是长期支持版本(也有部分公司使用)2、java有几个版本:java SE 标准版(学这个)java EE 企业版(主要针对web应用开发,后面工作主要用这个)java ME 小型版(安卓出来以后就用的比较少了)
2024-07-15 17:46:08
802
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人