自定义博客皮肤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 174

原创 有关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 234

原创 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 537

原创 AVL树的建立

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

2020-02-28 11:02:44 673

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

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

2020-02-16 16:57:27 157

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

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

2020-02-16 16:26:29 137

原创 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 333 1

原创 LeetCode-167 双指针

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

2020-02-13 16:59:36 126

空空如也

空空如也

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

TA关注的人

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