自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 java:二叉树oj题分享

建议自己先动手试一试,不会再去看解析。首先我们可以从题目中获得思路,俩个树要相同,那么它们的结构及每一个节点对应的值都应该相同,所以我们需要遍历每一个元素来进行验证。通常来说,二叉树都是采用递归的方法,这道题我也是一样用的递归。根据以上分析和题目所给的两个根节点第一步//首先如果其中一个为空,就不相同,返回falseif(p!=null){第二步//如果一开始2个节点都为空,那么返回false第三步/看节点中的值是否相同if(p.val!=q.val){

2024-04-09 21:34:27 1001 1

原创 中缀表达式转后缀表达式(技巧版)

中缀表达式就是我们平时会遇到的那种算术表达式。算术表达式中运算符总是出现在两个操作数之间例如: 2*(1+3)这种形式称为中缀表达式。那后缀表达式呢?就拿上面的例子来示范2 1 3 + *这就是它的后缀表达式。中缀表达式相信大家都会做,从左到右,按照先乘除后加减的顺序就能得出答案。中缀表示式利于人方便,但是对于计算机就有点不方便处理。所以人们发明了后缀表达式来帮助计算机,后缀表达式也被叫做逆波兰表达式。

2024-04-07 21:06:44 671

原创 java:链表面试题其二

建议自己先动手试一试,20分钟做不出来才看解析本题目要找的是倒数第k个节点,我们首先要先去讨论一下这个k的合法性。显然这个k不能小于等于0,同时也不能大于这个链表的长度。但题目已经保证了给定的k是有效的,所以在本题中可以省去讨论。有一种做法是先计算链表的长度,然后让该长度减去k值,设减后的值为c然后从头节点开始走c步,返回走后的节点。但是这么做的话就需要遍历链表快2遍了,有点麻烦。也不是这道题想要考你的初衷。我们可以想一下链表的中间节点是怎么找的呢?

2024-03-30 21:47:37 859

原创 java:链表面试题其一

我们会发现当slow走到0x90的时候,fast已经走到null的位置了。步,到这里还没事,但此时fas是null,它还有一步没有走,此时再走剩下的那一步就会报错。但是我们会发现一种情况,cur指向的都是prev的下一位,prev是从头节点开始的。由于是单向链表,我们在删除的时候就需要记录删除链表的前一个节点,不然会找不到。也就是说,如果头节点的值等于要删除的值,那么这么写会删不干净(就剩头节点)。跑一圈操场,你和另一个人同时跑,另一个人的速度是你的2倍。那么他到终点时,你是不是正好在操场终点的一半路程。

2024-03-30 15:17:05 694

原创 java:关于ArrayList顺序表的运用

CardCards类//扑克牌中一共有四种花色//我们先要有一副扑克牌public List buyCards(){//创建一个实现了List接口以Card为元素的顺序表i < 4;j++) {已经有牌了,接下来我们要如何洗牌呢?可以想到的是我们的Random这个可以产生随机数的方法。random.nextInt()的返回值是int类型,用int类型的变量来进行接收。

2024-03-29 21:19:01 517 1

原创 java:抽象类

在面对对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,那么这个类就是抽象类。比如:说明:1.矩形、圆形、三角形都是图形,都是继承于shape类。2.虽然图形shape是图形类也存在draw方法,但是它并不是一个具体的图形,因此它里面的draw方法不能具体实现。3.由于shape没有办法描述一个具体的图形,导致其内部的draw无法实现,因此我们可以将shape设计成一个抽象类。

2024-03-20 15:43:58 596 1

原创 java:多态

多态的概念,通俗来说:就是多种形态。具体点就是去完成某种行为,不同的人有不同的表现。

2024-03-19 22:41:00 847 1

原创 java:继承

java中使用类对现实世界中的实体进行描述,类经过实例化之后的产物对象,则可以表示现实中的实体,但是现实世界错综复杂,事物之间可能出现一些关联,,那在设计程序时就需要考虑。就比如:猫和狗,它们之间的关联就是都是动物。我们可以对比一下上面2个类,我们会发现有好多相同的字段和方法。那么有没有一种方法能节省代码的行数,相同的只写一遍就行了,以下是对猫和狗共性的抽取。那能否将这些共性抽取呢?。

2024-03-19 20:29:49 602 1

原创 java小项目:图书管理系统

这里教大家一个方法,在写好成员变量后,可以单击鼠标右键或者按照里面的快捷键,如图然后以及最后的toString方法这样就完成了对Book类的定义,因为我们对于类的成员变量的保密性(private)所以要Getter andSetter来对其进行获得与建立。1. 一个书架有许多本书嘛,所以我们采用以Book类型作为数组来定义,假设存放的是10本书(可以。

2024-03-13 16:31:58 1228

原创 java 类和对象3.0

这种用法比较少见{//直接使用{}定义,普通方法块int x=10;int x=100;//执行结果x1=10,x2=100。

2024-03-12 20:57:33 785 1

原创 java:类和对象2.0

基本规则:1.在文件的最上方加上一个package语句指定该代码在哪个包中2.包名需要尽量指定唯一的名字,通常会是公司的域名的颠倒形式(如:com.baidu.www)3.包名要和代码路径匹配,例如创建:com.baidu.www的包,那么其对应的路径为com/baidu/www来存储代码。4.如果一个类中没有package语句,那么会放在默认包中。操作步骤:1.在IDEAL中新建一个包。2.输入包名3.在包中创建类4.此时我们已经可以看到ideal已经在磁盘目录底下自动创建出来了。

2024-03-11 09:53:37 588

原创 java:类与对象1.0

那么在java中如何用语言来定义一个类呢?//定义一个学生// field 字段(属性、成员变量)// method 成员方法class为类的关键字,class为类的名字,{}中是类的主体。利用java语言在计算机中定义完成,在javac中编译成.class文件,在jvm文件的基础上计算机就可以识别。注意事项:1.类名注意采用大驼峰定义2.此处写的方法不带static关键字3.一般一个文件当中只一个类4.public修饰的类必须跟文件名相同。

2024-03-08 21:41:48 553 1

原创 认识自定义类型:结构体

答案是不行的,因为Node是对前面的匿名结构体类型的重命名产生的,但是在匿名结构体内部提前使用Node类型来创建成员变量,这是不行的。仔细分析,其实是不行的,因为一个结构体中包含一个相同类型的结构体变量,这样的结构体变量的大小就会无穷的大,是不合理的。3. 结构体总⼤⼩为最⼤对⻬数(结构体中每个成员变量都有⼀个对⻬数,所有对⻬数中最⼤的)的。4. 如果嵌套了结构体的情况,嵌套的结构体成员对⻬到⾃⼰的成员中最⼤对⻬数的整数倍处,结构。体的整体⼤⼩就是所有最⼤对⻬数(含嵌套结构体中成员的对⻬数)的整数倍。

2023-12-03 18:44:31 132 1

原创 整数和浮点数在内存中的存储

其实超过一个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分为大端字节序存储和小端字节序存储,下面是具体的概念:大端(存储)模式:是指数据的低位字节内容保护在内存的高地址处,而数据的高位字节内容,保存在字节的低地址处。小端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,而数据的高位字节内容,保存在内存中的高地址处。上述概念需要记住,以便于分辨大小端。

2023-12-03 13:21:15 119 2

原创 一些字符串函数的介绍(strstr、strtok、strerror)

在不同的系统和C语言标准库的实现中都规定了一些错误码,一般是放在errno.h这个头文件中说明的,C语言程序启动的时候就会使用一个全面的变量errno来记录程序中当前的错误码,只不过程序启动的时候errno是0,表示没有错误,当我们在使用标准库中的函数的时候发生了某种错误,就会将对应的错误码放在errno中,而一个错误码的数字是整数很难理解是什么意思,所以每个错误码都是有对应错误信息的。strtok函数的第一个参数不为NULL,函数将找到str中的第一个标记,strtok函数将保存它在字符串中的位置。

2023-11-30 15:33:48 75

原创 C语言:深入理解指针(第一篇)

CPUCPU内存单元指针。

2023-11-25 22:20:01 44

原创 扫雷游戏的实现

假设我们排查(8,6)这个坐标时,我们访问的是以(8,6)为中心的周围的八个数,在我们统计雷的个数时,我们会发现在最下面的三个坐标会越界,为了防止越界,我们在设计的时候,应该想到将棋盘的横纵坐标都分别在加上一行,那一行里用空格填充,现在的棋盘就是11*11,但是雷还是存放在9*9的坐标上,周围一圈不去布置雷就行,这样就解决了越界的问题。这里我们采用另一种方案,我们专门给一个棋盘(对应一个数组mine)存放好布置雷的信息,再给另外的一个棋盘(对应的另一个数组show)存放排查出的雷的信息。

2023-11-06 23:28:04 50

原创 关于c语言的分支循环语句

是独立存在的,不管if语句的条件真假,都会被执行。是继续的意思,在循环中的作用的作用就是跳过某一次循环continue后边的代码,直接到循环的判断部分,进行下一次的判断,如果循环的调整是在continue后边的话,可能会造成死循环。do while循环是至少执行一次的,因为它是先进入循环体,执行循环语句,再执行while后的判断表达式,为真,就会进入下一次,为假,则不再循环。在C语言中,0为假,非0表示真,也就是表达式的结果如果为0,则语句不执行,表达式的结果如果不是0,则语句执行。

2023-11-01 14:08:18 52 1

原创 作为一个c语言新人的感想

我准备每天在gitee上发布我写的代码,多看基础资料扎实有关c语言学习的基础,努力提高自己的代码能力。日复一日,必有精进,希望大家的梦想都能通过自己的努力实现。我准备在编程这件事情上每周投入30个小时。各位前辈们,大家好,我是楚子航。我想成为一名精通c语言的人。将来我想进入华为写代码。

2023-10-10 22:21:45 57

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除