- 博客(19)
- 收藏
- 关注
原创 LeeTCode刷题—— 删除链表的倒数第N个节点
LeetCode链接:给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。解析:我们可以考虑双指针,正着数和倒着数是不是有个差值,我们可以让一个指针先走,后一个...
2019-09-20 19:57:40
144
原创 LeetCode刷题——合并两个有序数组
LeetCode链接:https://leetcode-cn.com/problems/merge-sorted-array/给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出:...
2019-09-20 19:50:00
171
原创 Java与链表练习题一
1. 1 关于Java的异常处理机制的叙述哪些正确?(C) A.如果程序发生错误及捕捉到异常情况了,才会执行finally部分B.其他选项都不正确C.当try区段的程序发生异常且被catch捕捉到时,才会执行catch区段的程序D.catch部分捕捉到异常情况时,才会执行finally部分解析:finally部分是,不管会不会捕捉到异常,都会执...
2019-09-19 10:22:59
887
原创 Java与数组练习题二
1. 1 2 以下语句的执行结果是什么?(A) 1+”10”+3+”2” A.”11032”B.“16”C.16D.“32101”解析:1为int类型,“10”为String类型,两个相加时就成了字符串的相加,那么后面进行的运算也就是字符串相加了。2.下列哪些不是线性表?(C)A.队列B.栈C.关联数组D.链表...
2019-09-19 09:36:48
383
原创 单项循环链表
什么是单项循环链表?单项循环链表顾名思义,就是一个单方向并且可以循环的链表。也就是说将我们之前学习的单链表中的尾节点的指针由空指向头结点(或第一个元素节点的),从而形成了一个环,这种头尾相接的单链表称为单项循环链表。我们之前讲的单链表中存在着一个虚拟头结点,这个虚拟头结点是不存放任何数据元素的,那么在单项循环链表中,我们是否还能够继续使用虚拟头结点呢?答案是不能,因为我们在单项循环链表...
2019-09-19 09:00:35
262
原创 动态链表
结点结点相当于一个环,环环相扣时就组成了一个链表。在结点中主要存储着两部分信息,一部分是数据域:用来存放数据元素的信息,一个是指针域,用来存放下一个结点所在的地址,方便我们查找下一个结点,正因为存在者指针域,将各个结点链接起来,才组成了一个链表。动态链表的官方定义:为了表示每个数据元素ai与其直接后继数据元素ai+1 之间的逻辑关系,对数据元素ai来说,除了存储其本身的信息之外,还...
2019-09-17 16:28:05
243
原创 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0...
2019-09-10 17:06:38
104
原创 按奇偶排序数组
给定一个非负整数数组 A,返回一个数组,在该数组中,A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。思路:使用双指针定义两个指针,一个为奇数元素对应的位置,一个为偶数元素对应的位置,让其每次都加2,...
2019-09-10 16:30:58
106
原创 线性表、栈和队列的概述
1.线性表线性表的定义:零个或多个元素的有序队列。注意:首先它是一个序列。也就是说元素之间是有序的,如果存在多个元素,则第一个元素没有前驱,最后一个元素没有后继,其他元素则有且仅有一个前驱和一个后继。线性表中元素的个数n定义为线性表的长度,当n=0时,则线性表为空表。注意:通常我们用一维数组来实现线性表的顺序存储结构,那么我们就要注意区分数组长度和线性表的长度;数组长度:...
2019-09-10 16:03:36
1459
原创 Java与数组练习题
1.线性表中每一个元素都有一个前驱和一个后继(A)A.错 B.对解析:在线性表中,第一个元素没有前驱,最后一个元素没有后继,除此之外,其他元素都有一个前驱和一个后继。2.在java中,无论在何处调用,使用静态属性必须以类名做前缀。(B) A.正确 B.错误解析:如果在本类中使用静态属性,直接调用就可以;在其他类中调用静态使...
2019-09-10 11:09:34
333
原创 数组专项练习题
1.Continue语句跳出整个循环(B)A.正确 B.错误解析:continue语句是挑出本次循环,continue语句之后的代码不在执行,直接进行下次循环。2.在面向对象编程里,经常使用is-a来说明对象之间的继承关系,下列对象中不具备继承关系的是?(D)A.手机与小米手机 B.企业家与雷军 C.编程语言与Java D.中国与北京解析: is-a在JA...
2019-09-07 22:48:47
282
原创 数据结构与算法概述
1.数据结构的逻辑结构1.集合结构:集合结构中的数据元素除了属于同一个集合外,它们之间没有任何关系。2.线性结构:线性结构中的数据元素之间是一对一的关系。3.树形结构:树形结构中的数据元素之间存在一种一对多的层次关系。4.图形结构:图形结构的数据元素是多对多的关系。2.数据结构的物理结构物理结构是指数据的逻辑结构在计算机中的存储形式。1.顺序存储结构:开辟一组连...
2019-09-07 21:05:43
101
原创 网络编程
1.什么是计算机网络?计算机网络是指把不同地理区域的计算机用通信线路互联起来的一个具有强大功能的网络系统。按照网络规模和范围可以简单的划分为:局域网、都市网和广域网。2.网络工作模式有哪些?1.专用服务器结构,即B/S结构。 例如:淘宝、京东都是这种网络工作模式2.C/S 客户机/服务器模式(Client/Server,简称C/S结构) 例如:大多数的PC终端的软件...
2019-08-04 20:02:21
87
原创 线程
1.什么是进程?什么是线程?进程是指一种正在进行的程序,它有着自己的地址空间。线程则是进程的一个执行单元。2.实现多线程的两种方式。1.继承Thread类,并重写Run() 方法。public class Tell extends Thread { @Override public void run() { for (int i = 0; i &...
2019-08-04 09:12:13
102
原创 接口和抽象类的区别
1.什么是抽象类?含有abstract 修饰符的类就称为抽象类,抽象类不能创建实例。含有抽象方法的类必须被定义为 abstract class 。 在抽象类中,方法可以不被 abstract 所修饰。 但是抽象方法必须在子类中实现 ,所以,不能有抽象的静态方法和抽象构造方法。子类如果没有实现父类中所有的抽象方法,则子类也必须定义为 abstract 类。抽象类需要被继承才可以使用,而被fi...
2019-07-26 19:34:48
141
原创 Cloneable接口的作用
1.Cloneable接口Cloneable接口是标记型接口,它是内部没有方法和属性,实现Cloneable 接口来表示该类可以被克隆,才可以调用Object.clone() 方法对该类的实例进行按字段复制。如果在没有实现Cloneable 接口的实例上调用Object.clone() 方法,则会抛出CloneNotSupportedException(克隆不被支持)的异常。2.克隆的...
2019-07-25 21:13:33
3442
1
原创 "==" 和”equals()方法“ 的区别
1.什么是" == "?java编程思想这本书中有这样一句话:"关系操作符生成的是一个boolean结果,他们计算的是操作数的值之间的关系"。也就是说: " == " 用来比较值是否相等,要比较两个基本类型的数据和引用变量是否相等,只能用"=="操作符。public static void main(String[] args) { int a = 4; int b = 4;...
2019-07-25 20:02:51
118
原创 JAVA中是否存在内存泄漏?什么情况下才是内存泄漏?
一、什么是内存泄漏?内存泄漏是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放造成系统的浪费,导致程序运行速度减慢甚至系统崩溃等严总后果。内存泄漏缺陷具有隐蔽性、积累性的特征,比其他内存非法访问错误更加难以检测。二、JAVA中是否存在内存泄漏?什么情况下才是内存泄漏?存在。因为JAVA语言中有着GC(垃圾回收器)机制的存在,一般情况下是很少发生内存泄漏。但是当长生命周期的...
2019-07-23 19:39:30
253
原创 String和StringBuffer的区别
在JAVA中平台中,提供了两个类String和StringBuffer用来存储和操作字符串,即包含多个字符的字符数据。String:对一串字符数据进行操作,是不可变类。StringBuffer:也是对一串字符数据进行操作,但是可变类。String:创建出的字符串之后,它们的值在创建之后不能更改。因为String对象是不可变的,所以可以进行共享,例如:String str ...
2019-07-22 22:25:04
102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人