自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 括号匹配问题

括号匹配问题个人思路:总共四种情况:要么 左括号多要么 右括号多要么 左右括号不匹配要么 匹配新建一个栈遇到 左括号 入栈遇到 右括号看是栈否为空 空的话 右括号多然后 和 栈顶元素 比较 看是否匹配匹配 出栈 顶元素不匹配 左右不匹配 return ;for循环走完后 如果 栈 还是非空 则左括号多 return ;全部走完后 return true ;class Solution { public boolean

2021-11-06 11:24:31 208

原创 循环队列问题

循环队列问题个人思路:设置一个 队头 front 队尾 rear 的 下标值浪费一个位置 来判断数组是否满了入队:如果满了 ,return false;如果没满,在数组的 rear 处 入队 ,即队尾处入队然后rear 走到下一个不过注意: rear 不能直接++得 this.rear = (this.rear+1)%this.elem.length ;否则 如果rear 是在最后 一个下标 就会出错出队:判断是否为空如果空了 retur fal

2021-11-06 11:22:26 450

原创 最小栈问题

需要俩个栈 一个普通栈 一个最小栈个人思路:push :普通栈一定放进去如果最小栈为空 也放进去如果最小栈不为空 和最小栈顶元素比较 如果大于栈顶元素,则不放小于等于栈顶元素,也放进去pop:普通栈顶元素小于等于最小栈栈顶元素时 最小栈栈顶元素也得删除class MinStack { private Stack<Integer> stack; private Stack<Integer> minStack; public

2021-11-06 11:19:38 160

原创 两个队列实现栈

栈: 先进后出队列:先进先出两个队列实现栈:个人思路:队列先进先出 栈先进后出所以 需要俩个队列 q1 q2然后 入栈 往非空的队列入如果都为空 ,随便入出栈的时候如果都为空 return -1;否则 ,把非空的 前 n-1个 元素 倒进 空栈此时最后一个元素就是我们要求的 然后 return q.pool;int size = qu2.size(); //循环条件//不能直接写 qu2.size()-1 会报错 因为每次去一个栈

2021-11-06 11:17:38 237

原创 两个普通栈实现队列

栈: 先进后出队列:先进先出两个栈实现队列个人思路:俩个栈 s1 s2s1只用来入栈s2只用来出栈出栈的时候 如果s2为空,就判断 s1是否也为空如果s1也为空 就 return否则 将s1的全部倒进s2 从s1 pop出来,s2 push进去for 循环条件 不能 直接 i<s1.size(); 因为是一个变量 每次出一个 就会减一peek : 全部倒进 s2 后 s2.peek() ; 就好class MyQueue { pub

2021-11-06 11:14:56 99

原创 字符串的练习一

在一个长为 字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写,从0开始计数)自己的思路:建一个数组 大小为128 ,然后 遍历字符串第一次遍历字符串, 将每一个字符,对应的下标,的值,加一第二次遍历字符串, 将每一个字符,对应的下标,的值,如果等于一,则返回对应的 i比如,第一次遍历,字符a 对应的下标 是 97如果 出现了 a 则在对应下标97的值加 1 ,第二次遍历,将 出现的字符对应的下标的值 和 1 作比较 ,如果是

2021-10-31 14:22:28 124

原创 String,StringBuffer,StringBulider

String类与StringBuffer类以及StringBulider类1.任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指向而已。2.通常来讲String的操作比较简单,但是由于String的不可更改特性,为了方便字符串的修改,提供StringBuffer和StringBuilder类。3.在String中使用"+"来进行字符串连接,但是这个操作在StringBuffer类中需要更改append();public class Te

2021-10-31 14:15:39 106

原创 抽象类和接口 二 二 二

排序 之 自定义对象在 sort 方法中会自动调用 compareTo 方法.compareTo 的参数是 Object其实传入的就是Student 类型(自定义)的对象.然后比较当前对象和参数对象的大小关系(按分数来算).如果当前对象应排在参数对象之前, 返回小于 0 的数字;如果当前对象应排在参数对象之后, 返回大于 0 的数字;如果当前对象和参数对象不分先后, 返回 0;public int compareTo(Object o) { Student s = (Stud

2021-10-31 14:05:33 110

原创 抽象类和接口一 一 一

抽象类的相关概念//一个方法没有被具体实现 的话 要用 abstract 修饰//抽象类:包含抽象方法的类 称为抽象类//抽象方法:没有具体实现,所以 ,用 abstract 修饰//注意:1.抽象类不能被实例化 也就是不能 new 对象//2.抽象类当中可以有和普通类当中一样的成员 就是不能够实例化//3.如果 一个普通类继承了一个抽象类 这个普通类要重写抽象类中的所有抽象方法//4.一个抽象类A 继承了抽象类B ,可以不重写抽象类B中的抽象方法但是一旦

2021-10-31 13:46:19 105

原创 继承相关和多态初识

OOP语言的三大特性 封装 继承和多态继承:优点:可以达到代码复用的效果A extends BA : 子类 派生类B : 基类 父类 超类注意:1.子类继承了父类除构造方法外的其他所有的2.子类在构造的时候,要先帮助父类来进行构造3.访问修订限定符 private < default < protected < publicprotected:不同包当中,只能是子类才能访问private : 范围在 同一包的同一个类public : 范围

2021-10-27 19:36:13 170

原创 初识MySql 一

数据库基本操作1.创建: create database2.指定: use 【数据库名称】3.查看数据库: show databases;4.删除数据库: drop database【数据库名】;数据表操作:1.创建表: create table2.查看表结果: desc【表名】3.查看当前有哪些表: show tables;4.删除表: drop table【表名】常用的数据类型:int decimal varchar textdecimal(5,2)

2021-10-27 19:16:27 98

原创 双链表的基本相关方法

双链表class Node { public Node prev; public int val; public Node next; public Node(int val) { this.val = val; }}public class MyDoubleList { public Node head ; public Node last ; //public Node head = new Node(-1);

2021-10-27 19:08:29 124

原创 单链表相关的面试题

面试题1:删除值为key的所有节点 要求只遍历一遍public Node removeAllKey(int key) { if (this.head == null) { return null; } Node prev = this.head; Node cur = this.head.next; while (cur != null) { if (cur.data

2021-10-27 19:01:52 145

原创 单链表的增删改查

初识单链表class Node{ public int data ; // 0 public Node next ; // null public Node(int data ){ this.data = data; this.next = null; } }public class MyLinkedList { public Node head; //保存单链表的头节点

2021-10-27 18:49:57 94

原创 顺序表的初步学习---Java

顺序表的初步学习线性表:是具有n个相同特性的数据元素的有限序列。常见的线性表:顺序表,链表,栈,队列,字符串。顺序表:是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。顺序表分为:1.静态顺序表:使用定长数组储存。2.动态顺序表:使用动态开辟的数组储存。适用不同场景:1 .静态顺序表适用于确定知道需要存多少数据的场景.2 .静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用.相比之下动态顺序表更灵活, 根据需要动态的分配空间大小.顺序表练习1

2021-10-22 20:07:52 88

原创 方法,数组及类和对象的初步认识

方法的相关定义1.public static 返回值 方法名(形式参数列表){方法体}2.方法名:采用小驼峰 maxNum3.public static : 因为当前所有的方法 写完之后 会在main方法中调用因为main方法是public static 的4.返回值 可有可无 具体看业务需求 如果有返回值 那么返回值类型需要和方法的返回值类型匹配5.形式参数列表: 形参----->实参的一份拷贝 形参相当于实参的拷贝,即传值调用6.方

2021-10-22 20:03:39 140

原创 Java的基本数据类型及运算符

1.数据类型分为 基本类型 和 引用类型基本类型:byte,short,char,int,float,double,long,boolean引用类型:数组,接口,类,string等等2.转义字符 在前面加一个 \转义类型解释\n换行\t水平制表符’单引号"双引号\反斜杠3.字符串的拼接+ 代表的是拼接任何与字符串拼接之后结果都为字符串4.变量的作用域:变量可以作用的范围 public static void main(

2021-10-12 21:28:02 260

原创 初识Java

Java的一大特性:一次编译,到处运行1.public:公有的(关键字)2.class: 定义类 结构体的高配版本3.TestDemo:类名4.类名 {类体(属性或方法)}5.static:静态的。6.String[] args 数组------------------------ 后面跟的代表的是运行时的命令行参数7.String 字符串类型8.简单类型除boolean外,赋值的时候都不能够超过最大赋值范围,如 byte a = 128; 是错的byte b = 127

2021-10-11 21:03:35 83

空空如也

空空如也

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

TA关注的人

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