![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 87
成功人士从不写博客
这个作者很懒,什么都没留下…
展开
-
[剑指Offer] - Java完整题解
写在前面 本文题目顺序为牛客网剑指 Offer 通过率降序,也算是一种从易到难。 牛客网剑指Offer 详细题解 剑指Offer 具体题解发布在个人网站,更新ing 1. 二维数组中的查找 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 · 202 阅读 · 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 · 407 阅读 · 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 · 303 阅读 · 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 · 234 阅读 · 0 评论