自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Morris 遍历学习笔记

Morris遍历是实现了时间复杂度O(N),空间复杂度只有O(1)的二叉树遍历的一种方法,它实现的方法主要为每个节点只遍历一次,具体规则如下: cur当前节点如果左子树为空,则向右移动 (cur = cur.right) cur当前节点左子树不为空,则找到左子树中最右的节点记为Tr,若 Tr右节点为空,则让Tr右节点指向粗人,同时cur左移 (cur = cur.left) Tr右节点指向cur,cur右移 (cur = cur.right) 个人感觉Morris的本质就是将原先的单向遍历加入了

2020-10-29 14:13:03 89

原创 有关Java中Array转List时出现的问题

有关Java中Array转List时出现的问题 博主在一次做题的过程中使用了Arrays.asList()将String[]转变为List,在初始的转变过程和迭代中没有任何问题,但当使用remove()函数时,发生了报错java.lang.UnsupportedOperationException,在经历了许多尝试后才发现了问题的原因。 相关代码 String[] temp = line.split("\\s+"); List<String> list = Arrays.asList(

2020-10-29 13:32:18 155

原创 LeetCode-287 寻找重复数(环检测算法)

题目描述 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 示例 示例1: 输入: [1,3,4,2,2] 输出: 2 示例2: 输入: [3,1,3,4,2] 输出: 3 说明 不能更改原数组(假设数组是只读的)。 只能使用额外的 O(1) 的空间。 时间复杂度小于...

2020-03-04 20:02:21 437

原创 AVL树的建立

ADS刚好学了AVL树,现在简单地写了有关AVL树建立的一点代码。 首先了解一下AVL树,概念性的东西不再细讲了,主要讲一下自己初写代码遇到的一些问题和疑惑,共勉。 旋转 其实AVL树最重要的操作也就是旋转了,共分为LL、RR、LR、RL四种,其实就是可分为两种,LL、RR为一组,LR、RL为一组。前者是插入最小元素或最大元素的时候,在这里我用全局的min和max判断实现,每次插入后刷新,而后...

2020-02-28 11:02:44 609

原创 LeetCode-88合并两个有序数组

题目描述 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 示例 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 输出: [1,2,2,3,5,6] 解题思路 这道题还是双指针的思想,只不过做的同时也需要灵活一下,如果遍历时均是从开头开始遍...

2020-02-16 16:57:27 113

原创 LeetCode-680 验证回文字符串Ⅱ

题目描述 给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 示例: 输入: “abca” 输出: True 解释: 你可以删除c字符。 注意:字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。 解题心得 这道题依旧是双指针类型题目,即前后双指针依次判断,但此题关键在于删除哪一个字符的问题,如果扫描中第一次碰到不相等状况,判断删除左边还是右边的字符是个问题...

2020-02-16 16:26:29 98

原创 LeetCode-633 平方数之和

题目介绍 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。 示例1 输入: 5 输出: True 解释: 1 * 1 + 2 * 2 = 5 示例2 输入: 3 输出: False 解题思路 其实这道题跟之前遇到过的双指针题类似,本质也还是利用0和结尾双指针,关键在于尾部指针的选取,这里便采取所求数的平方根作为尾指针,同时因为不需要考虑符号,...

2020-02-13 21:35:56 273 1

原创 LeetCode-167 双指针

题目介绍 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers = [2, 7, 11, ...

2020-02-13 16:59:36 83

空空如也

空空如也

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

TA关注的人

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