leetcode学习笔记
HNU_lingzhi_404
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表是否有环
题目描述 判断给定的链表中是否有环。如果有环则返回true,否则返回false。 你能给出空间复杂度的解法么? 解答 由于Set集合中的元素是没有重复的,我们可以把节点存放到Set中,每次存放判断当前节点是否存在,如果存在,说明有环。 import java.util.*; public class Solution { public boolean hasCycle(ListNode head) { Set<ListNode> set = new HashSet<原创 2021-03-07 18:31:54 · 158 阅读 · 0 评论 -
Java链表中节点每K个一组翻转(头插法思想)
题目描述 将给出的链表中的节点每 k 个一组翻转,返回翻转后的链表 如果链表中的节点数不是 k 的倍数,将最后剩下的节点保持原样 你不能更改节点中的值,只能更改节点本身。 要求空间复杂度 O(1) 例如: 给定的链表是1→2→3→4→5 对于 k=2, 你应该返回 2→1→4→3→5 对于 k=3, 你应该返回 3→2→1→4→5 解答 import java.util.*; public class Solution { public ListNode reverseKGroup (ListN原创 2021-03-07 17:47:59 · 379 阅读 · 0 评论 -
两数相加
leetcode学习笔记 2. 两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 思路 由于输入的两个链表都是原创 2020-12-27 19:42:00 · 122 阅读 · 0 评论 -
两数之和
leetcode学习笔记 1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 思路 最直接的想法是使用双重for循环求出我们想要的结果,但是时间复杂度高达O(N2)。所以我们选原创 2020-12-26 18:55:59 · 131 阅读 · 0 评论 -
合并两个有序数组
leetcode学习笔记 88. 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 输出:[1,2,2原创 2020-12-26 17:09:54 · 154 阅读 · 0 评论
分享