LeetCode 17. 电话号码的字母组合 发表于 2019-02-25 更新于 2019-02-26 分类于 算法 , LeetCode Valine: 题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 12输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. 说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 阅读全文 »
LeetCode 98. 验证二叉搜索树 发表于 2019-02-19 更新于 2019-02-26 分类于 算法 , LeetCode Valine: 题目描述给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 12345输入: 2 / \ 1 3输出: true 示例 2: 123456789输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 5 ,但是其右子节点值为 4 。 阅读全文 »
LeetCode 90. 子集II 发表于 2019-01-16 更新于 2019-02-25 分类于 算法 , LeetCode Valine: 题目描述给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 12345678910输入: [1,2,2]输出:[ [2], [1], [1,2,2], [2,2], [1,2], []] 阅读全文 »
LeetCode 23. 合并k个排序链表 发表于 2019-01-11 更新于 2019-02-25 分类于 算法 , LeetCode Valine: 题目描述合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 1234567输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6 阅读全文 »
LeetCode 75. 颜色分类 发表于 2019-01-09 更新于 2019-02-25 分类于 算法 , LeetCode Valine: 题目描述给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意:不能使用代码库中的排序函数来解决这道题。 示例: 12输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2] 进阶: 一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计算出0、1 和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。 你能想出一个仅使用常数空间的一趟扫描算法吗? 阅读全文 »