LeetCode (Java)
文章平均质量分 58
记录LeetCode,记录时间, 记录成长。
张今天
这个作者很懒,什么都没留下…
展开
-
LeetCode 【40.组合总和 II】
LeetCode 【40.组合总和 II】 题目描述 : 给定一个数组candidates和一个目标数target,找出candidates中所有可以使数字和为target 的组合。 candidates中的每个数字在每个组合中只能使用一次。 示例 1 输入:candidates = [10,1,2,7,6,1,5],target = 8, 所有解集为: [ [1,7], [1,2,5], ...原创 2018-11-30 09:57:44 · 191 阅读 · 0 评论 -
LeetCode【39.组合总数】
leetcode【39.组合总数】 题目描述 : 给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。 示例 1: 输入: candidates = [2,3,6,7],target = 7; 所求解集为: [ [7], [2,2,3] ] 示例 2: 输入: candidates = [2,3,5],ta...原创 2018-11-30 09:09:49 · 432 阅读 · 0 评论 -
LeetCode 【42.接雨水】
LeetCode 接雨水 题目描述 : 给定 n 个非负整数表示每个宽度为1 的主机的高度图,计算按此排列的主子,下雨之后能接多少雨水。 示例 : 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 思路 1 使用逼近的思想,左右两个指针,分别指向首个元素、末尾元素。比较两个元素的大小,赋值于min,然后判断l、r位置的元素哪个是这个min,如果是height[l], 则继...原创 2018-11-28 21:33:49 · 286 阅读 · 0 评论 -
LeetCode【876.链表的中间结点】
题目描述 给定一个带有头结点head的非空单链表,返回链表的中间结点。 如果,有两个中间结点,则返回第二个中间节点。 思路 1 通过while循环统计链表中变量的个数即count,再次进行遍历时,直接返回第count2+1count2+1\frac{count}{2}+1结点即可。 代码 1 class Solution { public ListNode middleNode...原创 2018-08-16 09:38:55 · 1066 阅读 · 2 评论 -
LeetCode【707.设计链表】
题目描述 设计链表的实现,您可以选择使用单链表或双链表。单链表的节点应该具有两个属性:val 和next。 val 是当前节点的值,next是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性prev以指示链表中的上一个节点。假设链表中的所有节点都是0-index的,也就是索引从0开始。 在链表类中实现这些功能: get(index) :获取链表中的第index个节点的值。如果...原创 2018-10-12 17:12:49 · 1525 阅读 · 3 评论 -
LeetCode【141.环形链表】
题目描述 给定一个链表,判断链表中是否有环。 思路 * 1 还是使用快慢指针的思路进行遍历,如果有环的话,快慢指针总会相遇于一个结点;否则快指针也会走到null,跳出循环。可以想象两个人在操场跑步的场景,一个跑的慢,一个跑的快。 代码 * 1 class Solution { public boolean hasCycle(ListNode head) { if(hea...原创 2018-10-11 19:21:33 · 143 阅读 · 0 评论 -
LeetCode【148.排序链表】
题目描述: 在O(nlog(n))O(nlog(n))O(nlog(n))时间复杂度和常熟级空间复杂度下,对链表进行排序。 示例 1 输入: 4->2->1->3 输出: 1->2->3->4 示例 2 输入: -1->5->3->4->0 输出: -1-&gt原创 2018-10-19 18:58:49 · 178 阅读 · 0 评论 -
LeetCode【147.对链表进行插入排序】
题目描述: 对链表进行插入排序。 插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素,并原地将其插入已拍好的链表中。 示例 1 输入:4−>2−>1−>34->2->1->34−>2−>1−&gt原创 2018-10-19 19:12:42 · 287 阅读 · 0 评论 -
LeetCode【160.相交链表】
题目描述 编写一个程序,找到两个单链表相交的起始节点。 例如: A: a1 → a2 ------------------- ↘ -----------------------> c1 → c2 → c3 ------------------- ...原创 2018-10-11 19:48:23 · 224 阅读 · 0 评论 -
LeetCode【203.移除链表的元素】
题目描述 删除链表中等于给定值val的所有节点。 示例: 输入: 1−>2−>6−>3−>4−>5−>6,val=61->2->6->3->4->5-&gt原创 2018-10-07 18:51:10 · 1903 阅读 · 0 评论 -
LeetCode【206.反转链表】
题目描述 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出:5->4->3->2->1->NULL 思路1 采用迭代的方式,改变各个结点的原创 2018-09-19 16:24:41 · 204 阅读 · 0 评论 -
LeetCode【328.奇偶链表】
奇偶链表 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的寄数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 示例 1 输入:1−>2−>3−>4−>5−>NULL1->2->3->4->5-&am原创 2018-10-19 19:02:10 · 506 阅读 · 0 评论 -
LeetCode【234.回文链表】
题目描述 请判断一个链表是否为回文链表。 示例 1 输入: 1−>21->21−>2 输出: falsefalsefalse 示例 2 输入: 1−>2−>2−>11->2->2->11−>2−>2−>1 输出: truetruetrue 思路 * 1...原创 2018-10-11 18:52:12 · 139 阅读 · 0 评论 -
LeetCode【109.有序链表转换二叉搜索树】
题目描述 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1. 示例: 给定的有序链表:[−10,−3,0,5,9][-10, -3, 0, 5, 9][−10,−3,0,5,9] 一个可能的答案是:[0,−3,9,−10,null,5][0, -3, 9, -10, null, 5]...原创 2018-10-12 21:37:47 · 1856 阅读 · 0 评论 -
LeetCode【83. 删除排序链表中的重复元素】
题目描述 给定一个 排序链表,删除所有重复的元素,使得每个元素之出现一次。 示例 * 1 输入: 1->1->2 输出: 1->2 示例 * 2 输入: 1->1->2->2->3->3 输出: 1原创 2018-09-29 20:16:55 · 527 阅读 · 0 评论 -
LeetCode【237.删除表中的节点】
题目描述 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表– head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 -> 9 示例 1: 输入: head = [4,5,1,9], node = 5 输出: [4,1,9] 解释: 给定你链表中值为 5 的第原创 2018-08-18 09:25:37 · 232 阅读 · 0 评论 -
LeetCode【24.两两交换链表中的节点】
题目描述: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 示例: 给定 1−>2−>3−>41->2->3->41−>2−>3−>4,你应返回2->1->4->3. 思路 使用p原创 2018-10-16 20:16:13 · 181 阅读 · 0 评论 -
LeetCode【21.合并两个有序连表】
题目描述 将两个有序连表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4-&原创 2018-09-29 16:46:06 · 223 阅读 · 0 评论