- 博客(10)
- 收藏
- 关注
原创 LeetCode第142题
LeetCode第142:环形链表II题目详述解法一解法二题目详述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。解法一使用set集合。时间复杂度:O(n),空间复杂度:O(n)pub...
2020-01-31 17:09:34 314
原创 LeetCode第24题
LeetCode第24题:两两交换链表中的节点题目详述解法一解法二题目详述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。解法一迭代。时间复杂度O(n),空间复杂度O(1)说明:1.dummy节点:用来标记头结点,最终返回dummy.next2.prevNode节点:用来缓存firstNode节点的前驱节点,防止链表丢失。class Solution { publ...
2020-01-30 20:33:23 342
原创 LeetCode第206题
LeetCode第206题:反转链表题目详述解法一解法二题目详述反转一个链表解法一迭代。需要两个临时指针一个指向前驱一个指向后继class Solution { public ListNode reverseList(ListNode head) { ListNode prev = null; ListNode curr = head; ...
2020-01-28 16:53:02 75
原创 LeetCode第283题
LeetCode第283题:移动零题目详述解法一解法二题目详述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序解法一双指针联动跑,j指向零元素,i指向非零元素,交换num[i]和nums[j]的值,保证非零元素相对顺序。public void moveZeroes(int[] nums) { int j = 0; for(int...
2020-01-21 20:36:19 250
原创 LeetCode第146题
LeetCode第146题:LRU缓存机制题目详述方法一解法二题目详述运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入...
2020-01-21 17:49:02 386
原创 LeetCode第141题
LeetCode第141题:验证链表是否有环题目描述解法一解法二题目描述给定一个链表,判断链表中是否有环。class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; }}解法一1.将链表节点的值放入set集合中(无序且不重复);2.遍历链表直到h...
2020-01-21 15:50:14 341
原创 LeetCode第70题
LeetCode第70题:爬楼梯题目描述解法一解法二解法三题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。解法一递归无脑暴力求解,时间复杂度(O(2^n))public int climbStairs(int n) { return climb_Stairs(0,n);...
2020-01-21 15:13:08 149
原创 LeetCode第15题
LeetCode第15题:三数之和题目描述解法一解法二解法三题目描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。解法一三层for循环时间复杂度:O(n^3)又臭又长,时间复杂度还高。因为有重复值,也没满足题意,除了思想简单一无是处。...
2020-01-21 10:53:59 445
原创 LeetCode第11题
LeetCode第11题:盛最多水容器题目描述解法一解法二解法三题目描述给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。解法一两层for循环时间复...
2020-01-20 15:17:29 247
原创 LeetCode第1题
LeetCode第一题:两数之和题目描述解法一解法二题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。解法一两层for循环时间复杂度:O(n²)public int[] twoSum(int[] nums, int target...
2020-01-20 13:16:38 237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人