摘要: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。 说明:不允 阅读全文
posted @ 2021-01-06 18:29 付旭洋 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是 阅读全文
posted @ 2021-01-06 18:28 付旭洋 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 阅读全文
posted @ 2021-01-06 18:27 付旭洋 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的 深拷贝。  我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index]  阅读全文
posted @ 2021-01-06 18:26 付旭洋 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 C 代码 阅读全文
posted @ 2021-01-06 18:25 付旭洋 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,它的每个结点都存放一个 0 9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1 >2 >3 代表数字 123。 计算从根到叶子节点生成的所有数字之和。 说明: 叶子节点是指没有子节点的节点。 示例 1: 输入: 阅读全文
posted @ 2021-01-06 18:24 付旭洋 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a 阅读全文
posted @ 2021-01-06 18:23 付旭洋 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。   示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 阅读全文
posted @ 2021-01-06 18:22 付旭洋 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。   示例 1: 输入:arr = [1,2,2,1,1,3] 输出:true 解释:在该数组中,1 出现了 3 次,2 出现了 阅读全文
posted @ 2021-01-06 18:21 付旭洋 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 给出一个字符串 s(仅含有小写英文字母和括号)。 请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。 注意,您的结果中 不应 包含任何括号。   示例 1: 输入:s = "(abcd)" 输出:"dcba" 示 阅读全文
posted @ 2021-01-06 18:20 付旭洋 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 3 输出: [1,3,3,1] 进阶: 你可以优化你的算法到 O(k) 空间复杂度吗? C 代码 public class So 阅读全文
posted @ 2021-01-06 18:19 付旭洋 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] C 代码 public 阅读全文
posted @ 2021-01-06 18:18 付旭洋 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:2 示例 2: 输入:root = [2,null,3,null,4,null,5, 阅读全文
posted @ 2021-01-06 18:17 付旭洋 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:true 示例 2: 输入:root = [1,2,2,3,3, 阅读全文
posted @ 2021-01-06 18:16 付旭洋 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器。 示例 1: 输入:[1 阅读全文
posted @ 2021-01-06 18:15 付旭洋 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [ 10, 3,0,5,9], 一个可能的答案是:[0, 3,9, 10,null,5],它可以表示下面这个高 阅读全文
posted @ 2021-01-06 18:14 付旭洋 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其自底向上的层次遍历为: [ [15,7], [9,20], [3] ] C 阅读全文
posted @ 2021-01-06 18:13 付旭洋 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 C 代码 阅读全文
posted @ 2021-01-06 18:12 付旭洋 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 C 代码 阅读全文
posted @ 2021-01-06 18:11 付旭洋 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 C 代码 阅读全文
posted @ 2021-01-06 18:10 付旭洋 阅读(59) 评论(0) 推荐(0) 编辑