10 2018 档案
摘要:9_回文数(Palindrome Number) [TOC] 描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 示例 2: 示例 3: 进阶: 你能不将整数转为字符串来解决这个问题吗? 解法一:转化为字符串的比较 思路 将整数转化为字符串,比
阅读全文
摘要:169_求众数(Majority Element) 这道题有 5 种方法,8 种实现,详细分析可以看 花花酱 的 "YouTube 专栏" 。 [TOC] 描述 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数 大于 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。
阅读全文
摘要:160_相交链表 [TOC] 描述 编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表 : 在节点 c1 开始相交。 注意: 如果两个链表没有交点,返回 . 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O( n ) 时间复杂度,且仅用 O
阅读全文
摘要:21_合并两个有序链表 [TOC] 描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 解法一:迭代 思路 因为两个链表都是有序链表(递增),因此可以很容易地找出两个链表中的最小元素,即比较两个链表表头的元素,时间复杂度是 $O(1)$ 的。我
阅读全文
摘要:237_删除链表中的节点 [TOC] 描述 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 head = [4,5,1,9],它可以表示为: 示例 1: 示例 2: 说明: 链表至少包含两个节点。 链表中所有节点的值都是唯一的。 给定的节点为
阅读全文
摘要:141_环形链表 [TOC] 描述 给定一个链表,判断链表中是否有环。 进阶: 你能否不使用额外空间解决此题? 解法一:哈希表 思路 判断一个链表是否包含环,可以转化为判断是否有一个节点之前已经出现过。非常自然的一个想法就是:遍历链表的每个节点,用一个哈希表记录每个节点的引用(或内存地址);如果能够
阅读全文
摘要:更多 LeetCode 题解笔记可以访问我的 "github" 。 [TOC] 描述 反转一个单链表。 示例 : 进阶 : 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 解法一:迭代 思路 遍历链表的每个节点,将每个节点的 指针指向它的前一个节点(即前驱)。因为这是一个单向链表,并不存在
阅读全文
摘要:【LeetCode题解】136_只出现一次的数字 [TOC] 描述 给定一个 非空 整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 示例 2: 方法一:列表操作 思路 新
阅读全文
摘要:【LeetCode题解】7_反转整数 [TOC] 描述 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 示例 2: 示例 3: 注意: 假设我们的环境只能存储 32 位有符号整数,其数值范围是 $[ 2^{31},\,2^{31} 1]$。根据这个假设,如果反转后的整数溢出,则返
阅读全文
摘要:【LeetCode题解】350_两个数组的交集Ⅱ [TOC] 描述 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 示例 2: 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。 进阶: 如果给定的数组已经排好序呢?你将如何优化你的算
阅读全文
摘要:【LeetCode题解】349_两个数组的交集 [TOC] 描述 给定两个数组,编写一个函数来计算它们的交集。 示例1: 示例2: 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 方法一:两个哈希表 Java 实现 复杂度分析: 时间复杂度:$O(n)$ 空间复杂度:$O
阅读全文
摘要:【LeetCode题解】94_二叉树的中序遍历 @[toc] 描述 给定一个二叉树,返回它的 中序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 方法一:递归 Java 代码 复杂度分析: 时间复杂度:$O(n)$,其中,$n$ 为二叉树节点的数目 空间复杂度:平均为 $O(
阅读全文
摘要:【LeetCode题解】144_二叉树的前序遍历 [TOC] 描述 给定一个二叉树,返回它的 前序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 方法一:递归 Java 代码 复杂度分析: 时间复杂度:$O(n)$,其中,$n$ 为二叉树节点的数目 空间复杂度:$O(n)$ P
阅读全文
摘要:【LeetCode题解】2_两数相加 [TOC] 描述 给定两个 非空 链表来表示两个非负整数。位数按照 逆序 方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例: 方法一:小学数学 思路 按照小学数学中求两数之和的做
阅读全文
摘要:【LeetCode题解】530_二分搜索树的最小绝对值差 [TOC] 描述 给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。 示例 : 注意: 树中至少有2个节点。 方法一、中序遍历二分搜索树 思路 中序遍历二分搜索树,计算当前节点数据与上一个节点数据的绝对值的差值,遍历
阅读全文