JinFei's Blog

Thinking will not overcome fear but action will.

[LeetCode]430. 扁平化多级双向链表

扁平化多级链表

题目描述 多级双向链表中,除了指向下一个节点和前一个节点指针之外,它还有一个子链表指针,可能指向单独的双向链表。这些子列表也可能会有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。 给你位于列表第一级的头节点,请你扁平化列表,使所有结点出现在单级双链表中。 Example 1: 输入:head = [1,2,3,4,5,6,null,null,null,7...

[LeetCode]583. 两个字符串的删除操作

删除指定个数的字符串使其相等

题目描述 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。 Example 1: 输入: “sea”, “eat” 输出: 2 解释: 第一步将”sea”变为”ea”,第二步将”eat”变为”ea” Constraints: 给定单词的长度不超过500。 给定单词中的字符...

[LeetCode]116. 填充每个节点的下一个右侧节点指针

二叉树节点的右侧指针

题目描述 给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有...

[LeetCode]290. 单词规律

单词规律

题目描述 给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。 Example 1: 输入: pattern = “abba”, str = “dog cat cat dog” 输出: true Example...

[LeetCode]349. 两个数组的交集

两个数组的交集

题目描述 给定两个数组,编写一个函数来计算它们的交集。 Example 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] Example 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] Constraints: 输出结果中的每个元素一定是唯一的。 我们可以...

[LeetCode]326. 3的幂

3的幂

题目描述 给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3^x Example 1: 输入:n = 27 输出:true Example 2: 输入:n = 0 输出:false Example 3: 输入:n = 9 输出:tru...

[LeetCode]673. 最长递增子序列的个数

最长递增子序列个数

题目描述 给定一个未排序的整数数组,找到最长递增子序列的个数。 Example 1: 输入: [1,3,5,4,7] 输出: 2 解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。 Example 2: 输入: [2,2,2,2,2] 输出: 5 解释: 最长递增子序列的长度是1,并且存在5个子序列的长度为1,因此输出5。 ...

[LeetCode]725. 分隔链表

将链表分割为k段

题目描述 给你一个头结点为 head 的单链表和一个整数 k ,请你设计一个算法将链表分隔为 k 个连续的部分。 每部分的长度应该尽可能的相等:任意两部分的长度差距不能超过 1 。这可能会导致有些部分为 null 。 这 k 个部分应该按照在链表中出现的顺序排列,并且排在前面的部分的长度应该大于或等于排在后面的长度。 返回一个由上述 k 部分组成的数组。 Example 1: ...

[LeetCode]347. Top K Frequent Elements

最大堆

题目描述 Given a non-empty array of integers, return the k most frequent elements. Example1: Input: nums = [1,1,1,2,2,3], k = 2 Output: [1,2] Example2: Input: nums = [1], k = 1 Output...

[LeetCode]234. Palindrome Linked List

判断是否是回文列表

题目描述 Given the head of a singly linked list, return true if it is a palindrome. Example1: Input: head = [1,2,2,1] Output: true Example2: Input: head = [1,2] Output: false Constrain...