数据结构
文章平均质量分 87
成功人士从不写博客
这个作者很懒,什么都没留下…
展开
-
[剑指Offer] - Java完整题解
写在前面本文题目顺序为牛客网剑指 Offer 通过率降序,也算是一种从易到难。牛客网剑指Offer详细题解剑指Offer具体题解发布在个人网站,更新ing1. 二维数组中的查找2. 替换空格3. 从尾到头打印链表4. 两个栈实现队列5. 旋转数组的最小数字6. 斐波那契数列7. 跳台阶8. 变态跳台阶9.二叉树深度10.不使用加减乘除做加法11. 镜像二叉树...原创 2020-01-12 16:51:46 · 774 阅读 · 0 评论 -
常用排序算法
首先列出常用排序算法时间/空间复杂度1. 冒泡排序像冒泡一样把最大/小的数浮上来。冒泡排序从小到大排序: - 一开始交换的区间为0~N-1,将第1个数和第2个数进行比较,前面大于后面,交换两个数,否则不交换。 - 再比较第2个数和第三个数,前面大于后面,交换两个数否则不交换。 - 依次进行,最大的数会放在数组最后的位置。然后将范围变为0~N-2,数组第二大的数会放在数组...原创 2018-05-14 16:54:18 · 203 阅读 · 0 评论 -
二叉树基本定义及遍历
一.树的定义树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。树具有的特点有:每个结点有零个或多个子结点没有父节点的结点称为根节点每一个非根结点有且只有一个父节点除了根结点外,每个子结点可以分为多个不相交的子树。树的基本术语有: 若一个结点有子树,那么该结点称为子树根的“双亲”,子树的根称为该结点的“孩子”。有相同双亲的结点...原创 2018-05-15 09:41:32 · 369 阅读 · 0 评论 -
LeeCode最长连续序列
给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。AC:class Solution { public int longestConsecutive(int[] nums) { Arrays...原创 2018-12-21 09:45:06 · 410 阅读 · 1 评论 -
Leecode 7.整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。AC:class...原创 2018-12-18 11:20:18 · 308 阅读 · 0 评论 -
Leecode 283.移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。AC:class Solution { public void moveZeroes(int[] nums) { int i...原创 2018-12-18 13:36:47 · 235 阅读 · 0 评论