随笔分类 - LeetCode
摘要:题意描述 给定一个由n个整数组成的数组num,其中n> 1,则返回一个数组输出,使得output [i]等于除nums [i]之外所有nums元素的乘积。 测试用例 Example: Input: [1,2,3,4] Output: [24,12,8,6] 注意:不能使用除法 解题思路 一、思路一
阅读全文
摘要:题意描述 给定一个整数数组和一个整数k,找出和为k的连续子数组的总数。 测试用例 Example 1: Input:nums = [1,1,1], k = 2 Output: 2 解题思路 一、思路一 暴力解决 public int subarraySum(int[] nums, int k) {
阅读全文
摘要:题意描述 查找两个单链表的交点开始的节点。 测试用例 Example 1: Input: intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 Output: Reference of t
阅读全文
摘要:题意描述 给定一个二叉搜索树,编写一个函数kthSmallest在其中找到第k个最小的元素。 测试用例 Example 1: Input: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 Output: 1 Example 2: Input: root = [5
阅读全文
摘要:LeetCode 200:Number of Islands 题意描述 给定二维地图“ 1”(土地)和“ 0”(水),计算岛屿的数量。一个岛屿被水包围,是通过水平或垂直连接相邻的陆地而形成的。您可以假设网格的所有四个边缘都被水包围。 测试用例 Example 1: Example 2: 解题思路 一
阅读全文
摘要:题意描述 给定整数n,有多少个结构唯一的BST(二叉搜索树)? 测试用例 解题思路 一、思路一 根据上图可以发现,当根节点的左子树有 i 个节点时,右子树有 (n i 1) 个节点。 左子树与右子树的取值范围都是【0,n 1】 可以得出如下的转义方程 根据方程写出程序,如下:
阅读全文
摘要:题意描述 给定数字间隔的集合,合并所有重叠的数字间隔。 测试用例 Example 1: Example 2: 解题思路 一、思路一 使用两个数组,一个数组保存所有间隔的起始位置,一个数组保存所有间隔的结束位置,将两个数组排序 遍历两个数组,当 i+1 位置的的起始元素大于 i 位置的结束元素,说明【
阅读全文
摘要:题意描述 给定一棵二叉树,将其平整化为就地链表。 测试用例 For example, given the following tree: The flattened tree should look like: 解题思路 一、思路一 分治思想,对于每棵二叉树,将根节点的左节点设为右节点,将原来的右节
阅读全文
摘要:题意描述 给定一个二叉树,返回其节点值的层数顺序遍历。 (即,从左到右,逐级)。 测试用例 Given binary tree , return its level order traversal as: 解题思路 一、思路一 使用递归,根据树深度判断节点值应该添加入集合的哪个位置。 二、思路二 使
阅读全文
摘要:题意描述 给定一个二叉树,请确定它是否为有效的二叉树(BST)。 二叉树定义: 节点的左子树仅包含键值小于节点键值的节点。 节点的右子树仅包含键大于该节点的键的节点。 左子树和右子树都必须也是二进制搜索树。 解题思路 一、递归
阅读全文
摘要:题意描述 给定一个非负整数数组,找出其中累加和的最大值,并且相邻元素不能进行累加。 测试用例 Input: [1,2,3,1] Output: 4 Explanation: Total amount you can rob = 1 + 3 = 4. Input: [2,7,9,3,1] Output
阅读全文
摘要:LeetCode 283: Move Zeroes 题意描述 给定一个数组num,编写一个函数,将所有0移到它的末尾,同时保持非零元素的相对顺序。 注:(1)不能复制数组 (2)尽可能少的移动数组元素 解题思路 一、思路一 1. 遍历数组,使用一个临时变量记录第一个0的位置J 2. 如果J后面的元素
阅读全文
摘要:题意描述 给定一个非空字符串s和包含非空单词列表的字典wordDict,请确定s是否可以分段为一个或多个字典单词的以空格分隔的序列。 注:(1)字典中的同一单词可以在分割中多次重复使用。 (2)可以认为字典中没有重复的单词。 测试用例 Input: s = "leetcode", wordDict
阅读全文
摘要:题意描述 给定一个单链表,确定它是否是回文。 测试用例 Input: 1 2 Output: false Input: 1 2 2 1 Output: true 解题思路 一、思路一 1. 使用快慢指针,快指针fast一次走两步,慢指针slow一次走一步。当fast走到尾部时,slow走到链表中间。
阅读全文
摘要:题意描述 对一个链表进行排序 测试用例 Input: 4 2 1 3 Output: 1 2 3 4 Input: 1 5 3 4 0 Output: 1 0 3 4 5 解题思路 一、思路一 1. 将链表进行拆分,最终向下拆分成一个节点为单位的链表 2. 比较节点的val大小,重新进行拼接 3.
阅读全文

浙公网安备 33010602011771号