leetcode
sdu@xy
山东大学
展开
-
递归函数中传引用和不传引用的区别 刷题感悟
点击此处:https://blog.csdn.net/monkeyduck/article/details/10327213原创 2020-11-08 10:33:53 · 261 阅读 · 0 评论 -
leetcode 148. 排序链表
题目: 在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例1: 输入: 4->2->1->3 输出: 1->2->3->4 示例1: 输入: 4->2 输出: 2->4 采用归并排序的算法如下: class Solution { public ListNode sortList(ListNode head) { if(head==null||head.next==null)return...原创 2020-08-16 19:56:24 · 73 阅读 · 0 评论 -
leetcode 82. 删除排序链表中的重复元素 II
题目:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重复出现的数字。 示例1: 输入: 1->2->3->3->4->4->5 输出: 1->2->5 示例2: 输入: 1->1->1->2->3 输出: 2->3 代码如下: class Solution { public ListNode deleteDuplicates(ListNode head) { if(..原创 2020-08-16 17:23:40 · 62 阅读 · 0 评论 -
leetcode 1171. 从链表中删去总和值为零的连续节点
题目: 给你一个链表的头节点 head,请你编写代码,反复删去链表中由 总和 值为 0 的连续节点组成的序列,直到不存在这样的序列为止。 删除完毕后,请你返回最终结果链表的头节点。 示例: 输入:head = [1,2,-3,3,1] 输出:[3,1] 提示:答案 [1,2,1] 也是正确的。 代码如下: class Solution { public ListNode removeZeroSumSublists(ListNode head) { if(hea.原创 2020-08-16 16:50:51 · 149 阅读 · 0 评论 -
leetcode 636. 函数的独占时间
题目: 给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间。 每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用。 日志是具有以下格式的字符串:function_id:start_or_end:timestamp。例如:"0:start:0" 表示函数 0 从 0 时刻开始运行。"0:end:0" 表示函数 0 在 0 时刻结束。 函数的独占时间定义是在该方法中花费的时间,调用其他函数花费的时间不算该函数的独占时间。你需要根据函数的 Id 有序地原创 2020-08-16 08:38:29 · 161 阅读 · 0 评论 -
leetcode 763. 划分字母区间
题目: 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表 示例: 输入:S = "ababcbacadefegdehijhklij" 输出:[9,7,8] 解释: 划分结果为 "ababcbaca", "defegde", "hijhklij"。 每个字母最多出现在一个片段中。 像 "ababcbacadefegde", "hijhklij" 的划分是错误的,因为划分的片段数较少。 代码如下: ..原创 2020-08-15 21:06:26 · 97 阅读 · 0 评论 -
leetcode 15. 三数之和
题目: 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组 示例: 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] 代码如下: class Solution { public List<List<In...原创 2020-08-15 20:35:41 · 49 阅读 · 0 评论 -
leetcode 109. 有序链表转换二叉搜索树
题目: 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: ...原创 2020-08-15 17:10:58 · 120 阅读 · 0 评论 -
leetcode 面试题 02.07. 链表相交
题目: 给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。 示例: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of the node with value = 8 输入解释:相交节点的值为 8原创 2020-08-15 16:22:30 · 138 阅读 · 0 评论 -
leetcode 130. 被围绕的区域
题目描述: 给定一个二维的矩阵,包含'X'和'O'(字母 O)。 找到所有被 'X' 围绕的区域,并将这些区域里所有的'O' 用 'X' 填充。 示例: 输入: X X X X X O O X X X O X X O X X 运行你的函数后变为: X X X X X X X X X X X X X O X X 解题思路:没被包围的'O'一定直接或间接与边界上的'O'相连,所以我们只需遍历四个边界,找出与边界上的'O'相邻的'O',将其都标记为'A',最后遍历整个board,...原创 2020-08-14 10:03:21 · 84 阅读 · 0 评论 -
leetcode 面试题 04.03. 特定深度节点链表
题目: 给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表)。返回一个包含所有深度的链表的数组。 示例: 输入:[1,2,3,4,5,null,7,8] 1 / \ 2 3 / \ \ 4 5 7 / 8 输出:[[1],[2,3],[4,5,7],[8]] class Solution { public Lis...原创 2020-08-14 08:46:09 · 112 阅读 · 0 评论 -
leetcode802 找到最终的安全状态
一:拓扑排序算法 class Solution { public List<Integer> eventualSafeNodes(int[][] G) { int N=G.length; boolean[]safe=new boolean[N];//记录原图中没有出度的顶点 List<Set<Integer>>graph=new ArrayList<>(); List<Se.原创 2020-08-13 14:47:53 · 101 阅读 · 0 评论