03 2021 档案

摘要:牛客题目:请写一个整数计算器,支持加减乘三种运算和括号。 题目给出的算术表达式主要包括三部分:操作数、括号、运算符 一般的算术表达式都是中缀表达式,不易于编程计算。所以我们可以利用逆波兰算法将算术表达式的中缀形式转为更易于计算的后缀形式。 转换为后缀表达式的过程需要借助两个额外空间,栈S和数组列表L 阅读全文
posted @ 2021-03-31 22:45 有心有梦 阅读(244) 评论(0) 推荐(0)
摘要:快速排序 ​ 快速排序的整体思想就是在待排序数组中寻找一个称为主元(pivot)的元素,将数组分为两个部分,使得第一部分的所有元素都小于或者等于主元;第二部分的所有元素都大于主元。然后分别递归地对第一部分和第二部分进行快速排序。 ​ 在最差的情况下,划分n个元素的数组需要进行n次比较和n次移动,所以 阅读全文
posted @ 2021-03-21 12:27 有心有梦 阅读(54) 评论(0) 推荐(0)
摘要:108.有序数组转换为二叉搜索树 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 解析 使用二分法递归创建高度平衡的BST树 public TreeNode 阅读全文
posted @ 2021-03-17 09:35 有心有梦 阅读(111) 评论(0) 推荐(0)
摘要:LinkedList是一个实现了List接口和Deque接口的双端链表。 LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现了Deque接口,使得LinkedList类也具有队列的特性; LinkedList不是线程安全的,如果想使LinkedList变成线程安全的,可以调用 阅读全文
posted @ 2021-03-16 00:01 有心有梦 阅读(113) 评论(0) 推荐(0)
摘要:ArrayList的底层是动态数组,其容量可以动态增长。 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable Rando 阅读全文
posted @ 2021-03-15 20:34 有心有梦 阅读(104) 评论(0) 推荐(0)
摘要:Map Map集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。Java自带了各种Map类,主要分为以下三类: 1、通用Map,用于在应用程序中管理映射,通常放置在java.util包中:HashMap、Hashtable、Properties、LinkedHashMap、Iden 阅读全文
posted @ 2021-03-11 21:18 有心有梦 阅读(124) 评论(0) 推荐(0)
摘要:HashSet HashSet继承AbstractSet类,实现Set、Cloneable、Serializable接口。其中AbstractSet提供Set接口的骨干实现,从而最大限度地减少了实现此接口所需的工作。Set接口是一种不包括重复元素的Collection。HashSet是无序的,不能保 阅读全文
posted @ 2021-03-10 23:43 有心有梦 阅读(751) 评论(0) 推荐(0)
摘要:集合 ​ Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有3种子类型,List、Set和Queue,再下面是一些抽象类,最后是具体实现类,常用的有ArrayList、LinkedLis 阅读全文
posted @ 2021-03-09 22:30 有心有梦 阅读(246) 评论(0) 推荐(0)
摘要:给定两个非空二叉树s和t,检验s中是否包含和t具有相同结构和节点值的子树。s的一个子树包括s的一个节点和这个节点的所有子孙。s也可以看做它自身的一棵子树。 public boolean isSubtree(TreeNode s, TreeNode t){ if (s == null && t == 阅读全文
posted @ 2021-03-09 15:36 有心有梦 阅读(91) 评论(0) 推荐(0)
摘要:199.二叉树的右视图 ​ 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 < / \ 2 3 < \ \ 5 4 < 利用层次遍历寻找二叉树中的右视图(层次遍历, 阅读全文
posted @ 2021-03-08 14:01 有心有梦 阅读(121) 评论(0) 推荐(0)
摘要:能够分析类能力的程序称为反射。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。反射机制可以用来: 在运行时分析类的能力 在运行时查看对象 实 阅读全文
posted @ 2021-03-07 17:45 有心有梦 阅读(181) 评论(0) 推荐(0)
摘要:给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树之字形层序遍历的结果是 [ [3], [20,9], [15,7] ] 代码实现 ​ 通过使用两个栈来实现之字形遍历,第一个栈存储从左到 阅读全文
posted @ 2021-03-04 21:33 有心有梦 阅读(901) 评论(0) 推荐(0)