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 · 104 阅读 · 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 · 307 阅读 · 0 评论 -
两数相加
leetcode学习笔记2. 两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807思路由于输入的两个链表都是原创 2020-12-27 19:42:00 · 78 阅读 · 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 · 92 阅读 · 0 评论 -
合并两个有序数组
leetcode学习笔记88. 合并两个有序数组给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出:[1,2,2原创 2020-12-26 17:09:54 · 75 阅读 · 0 评论