LeetCode
文章平均质量分 66
坚果-果
Web前端
展开
-
LeetCode96. 不同的二叉搜索树
1.题目描述\color{DodgerBlue}{1.题目描述}1.题目描述给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。难度:中等示例 1:输入: n = 3输出: 5示例 2:输入: n = 1输出: 12.解题思路\color{DodgerBlue}{2.解题思路}2.解题思路1−n1-n1原创 2021-09-08 10:09:40 · 148 阅读 · 0 评论 -
剑指 Offer 56 - I. 数组中数字出现的次数
1.题目描述\color{DodgerBlue}{1.题目描述}1.题目描述一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。难度:中等示例 1:输入:nums = [4,1,4,6];输出:[1,6] 或 [6,1]示例 2:输入: nums = [1,2,10,4,1,4,3,3]输出: [2,10] 或 [10,2]2.解题思路\color{DodgerBlue}{2.解题思路}原创 2021-09-06 09:56:00 · 225 阅读 · 0 评论 -
LeetCode350:两个数组的交集 II
LeetCode350:两个数组的交集 II题目说明javascript题目说明给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]javascript/** * @param ...原创 2020-02-27 15:40:07 · 212 阅读 · 0 评论 -
LeetCode217:存在重复
LeetCode217:存在重复题目说明分析javascript题目说明给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]...原创 2020-02-27 02:09:05 · 143 阅读 · 0 评论 -
LeetCode7.整数反转
LeetCode7.整数反转题目说明python代码题目说明python代码class Solution: def reverse(self, x: int) -> int: if x == 0: return x elif x < 0: x = -x flag = -...原创 2019-11-23 00:02:18 · 128 阅读 · 0 评论 -
LeetCode189.旋转数组
LeetCode189.旋转数组题目说明python代码题目说明python代码旋转数组#常规思路:分成两个子数组,分别翻转,然后对整个数组翻转class Solution: def rotate(self, nums: List[int], k: int) -> None: """ Do not return anything, modif...原创 2019-11-21 23:37:10 · 170 阅读 · 0 评论 -
LeetCode122.买卖股票的最佳时机 II
LeetCode122.买卖股票的最佳时机 II题目说明python代码题目说明给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票...原创 2019-10-26 22:01:47 · 198 阅读 · 0 评论 -
LeetCode26.从排序数组中删除重复项
LeetCode26.从排序数组中删除重复项题目说明python代码题目说明给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 ...原创 2019-10-24 23:27:49 · 212 阅读 · 0 评论 -
LeetCode557. 反转字符串中的单词III
LeetCode557. 反转字符串中的单词III参考代码参考代码class Solution {public: string reverseWords(string s) { //使用指针的方法 int len = s.size(); int start = 0, end = 0; while( start < ...原创 2019-07-30 23:11:42 · 110 阅读 · 0 评论 -
LeetCode485. 最大连续1的个数
LeetCode485. 最大连续1的个数参考代码参考代码class Solution {public: int findMaxConsecutiveOnes(vector<int>& nums) { int res = 0, cnt = 0; for(int num : nums) { cnt = (num...原创 2019-07-29 23:08:13 · 97 阅读 · 0 评论 -
LeetCode118. 杨辉三角
LeetCode118. 杨辉三角题目说明题目知识补充参考代码题目说明给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。题目知识补充这里题目比较简单,主要是用vector来定义 二维数组 时可以通过resize()函数来改变每一行的大小。知识点1:二维数组初始化1.定义NxM矩阵int N=5, M=6;vector<vector > Mat...原创 2019-06-30 22:41:38 · 126 阅读 · 0 评论 -
LeetCode498. 对角线遍历
LeetCode498. 对角线遍历题目说明题目分析参考代码题目说明给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,4,7,5,3,6,8,9]题目分析参考大部分博客,因为涉及到改变方向,...原创 2019-06-28 16:21:01 · 283 阅读 · 0 评论 -
LeetCode1035. 不相交的线
LeetCode1035. 不相交的线题目说明题目分析参考代码题目说明我们在两条独立的水平线上按给定的顺序写下 A 和 B 中的整数。现在,我们可以绘制一些连接两个数字 A[i] 和 B[j] 的直线,只要 A[i] == B[j],且我们绘制的直线不与任何其他连线(非水平线)相交。以这种方法绘制线条,并返回我们可以绘制的最大连线数。示例 1输入:A = [1,4,2], B = ...原创 2019-06-27 22:57:50 · 5654 阅读 · 0 评论 -
LeetCode1013. 将数组分成和相等的三个部分
LeetCode1013. 将数组分成和相等的三个部分题目说明参考代码题目说明给定一个整数数组 A,只有我们可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。形式上,如果我们可以找出索引 i+1 < j 且满足 (A[0] + A[1] + … + A[i] == A[i+1] + A[i+2] + … + A[j-1] == A[j] + A[j-1] + ...原创 2019-06-18 21:58:16 · 547 阅读 · 0 评论 -
LeetCode754. 到达终点数字
LeetCode754. 到达终点数字题目说明题目解析代码题目说明题目解析代码原创 2019-05-29 11:06:06 · 1024 阅读 · 0 评论 -
LeetCode461. 回文数
LeetCode461. 回文数题目说明题目说明代码题目说明两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对...原创 2019-05-17 22:28:56 · 103 阅读 · 0 评论 -
LeetCode60. 第k个排列
LeetCode60. 第k个排列题目说明题目说明代码题目说明题目说明代码原创 2019-05-26 23:31:42 · 433 阅读 · 0 评论 -
LeetCode819. 最常见的单词
LeetCode819. 最常见的单词题目描述题目分析代码题目描述给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。示例:输入:paragraph = “Bob hit a b...原创 2019-05-08 00:01:09 · 204 阅读 · 0 评论 -
LeetCode21. 合并两个有序链表
LeetCode21. 合并两个有序链表参考代码1参考代码2(递归)参考代码1/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */...原创 2019-08-25 22:05:54 · 86 阅读 · 0 评论 -
LeetCode94,144,145. 二叉树前序中序后序--递归和非递归实现
LeetCode94,144,145. 二叉树前序中序后序--递归和非递归实现codecode// Definition for a binary tree node.// 先序遍历-递归版本// struct TreeNode// {// int val;// TreeNode *left;// TreeNode *right;// TreeNode(int x): v...原创 2019-08-31 21:25:25 · 195 阅读 · 0 评论 -
LeetCode102,107. 二叉树层次遍历/自底向上遍历--递归和非递归实现
LeetCode102,107. 二叉树层次遍历/自底向上遍历--递归和非递归实现codecode// 二叉树的层序遍历,leetcode 102// 层序遍历--递归实现(核心是需要 二维数组和变量level)// Definition for a binary tree node.struct TreeNode{ int val; TreeNode* left; TreeNo...原创 2019-09-01 16:26:45 · 677 阅读 · 0 评论 -
LeetCode498.对角线遍历(python)
LeetCode498.对角线遍历题目说明python代码题目说明给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,4,7,5,3,6,8,9]python代码class Solution...原创 2019-10-08 23:54:33 · 514 阅读 · 1 评论 -
LeetCode66.加一(python)
LeetCode66.加一题目说明python代码题目说明给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4...原创 2019-10-06 15:39:12 · 335 阅读 · 0 评论 -
LeetCode747.至少是其他数字两倍的最大数(python)
LeetCode747.至少是其他数字两倍的最大数-python题目说明python代码题目说明在一个给定的数组nums中,总是存在一个最大元素 。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。示例 1:输入: nums = [3, 6, 1, 0]输出: 1解释: 6是最大的整数, 对于数组中的其他整数,6大于数组中其他元...原创 2019-10-06 15:10:40 · 299 阅读 · 0 评论 -
LeetCode724.寻找数组的中心索引(python)
LeetCode724.寻找数组的中心索引题目说明python代码:题目说明给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1...原创 2019-10-06 10:15:03 · 389 阅读 · 0 评论 -
LeetCode240:搜索二维矩阵 II
LeetCode240:搜索二维矩阵 II题目说明分析代码题目说明编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, ...原创 2019-09-23 17:20:14 · 112 阅读 · 0 评论 -
LeetCode169:求众数
LeetCode169:求众数题目说明分析代码1题目说明给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2分析这里直接利用哈希映射,map结构,统计出现的数字和其次数计入...原创 2019-09-22 22:11:30 · 157 阅读 · 0 评论 -
LeetCode136:只出现一次的数字
LeetCode136:只出现一次的数字题目说明分析代码1代码2题目说明给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4分析常规思路是利用,非空整数数组...原创 2019-09-22 16:47:39 · 137 阅读 · 0 评论 -
LeetCode328. 奇偶链表
LeetCode328. 奇偶链表codecode/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; *//** * 1->...原创 2019-09-08 22:43:32 · 93 阅读 · 0 评论 -
LeetCode203. 移除链表元素
LeetCode203. 移除链表元素codecode// leetcode 203 移除链表元素/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {}...原创 2019-09-08 22:42:21 · 84 阅读 · 0 评论 -
LeetCode116,117. 每个节点的右向指针
LeetCode116,117. 每个节点的右向指针codecode// leetcode 116,117,每个节点的右向指针// 这道题主要是层次遍历的应用,由于是完美的二叉树,所有有左子树的一定有右子树// 同一个父节点,让左子树指向右子树就可以了。不同的父节点,则右子树指向同一层的左子树// Definitionstruct Node { int val; Node *lef...原创 2019-09-03 22:26:57 · 292 阅读 · 0 评论 -
LeetCode9. 回文数
LeetCode9. 回文数题目说明题目说明代码题目说明判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释...原创 2019-05-10 10:06:53 · 239 阅读 · 0 评论 -
LeetCode404.左叶子之和
/**Definition for a binary tree node.struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {}};/class Solution {public:int su...原创 2019-04-05 00:00:31 · 194 阅读 · 0 评论 -
LeetCode299:猜数字游戏
LeetCode299:猜数字游戏题目说明分析C++代码题目说明你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜。每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位数字猜对了但是位置不对(称为“Cows”, 奶牛)。你的朋友将会根据提示继续猜,直到猜出秘密数字。请写出一个根据秘密数字和朋友的猜测...原创 2019-03-19 11:35:43 · 226 阅读 · 0 评论 -
LeetCode915:Partition Array into Disjoint Intervals 分割数组
LeetCode915:Partition Array into Disjoint Intervals 分割数组题目说明分析代码题目说明Given an array A, partition it into two (contiguous) subarrays left and right so that:Every element in left is less than or equal...原创 2019-02-12 21:39:19 · 152 阅读 · 0 评论 -
LeetCode897:Increasing Order Search Tree 递增顺序查找树
LeetCode897:Increasing Order Search Tree 递增顺序查找树题目说明分析最终代码题目说明Given a tree, rearrange the tree in in-order so that the leftmost node in the tree is now theroot of the tree, and every node has no le...原创 2019-02-11 22:45:27 · 311 阅读 · 0 评论 -
LeetCode680:Valid Palindrome II 验证回文字符串之二
LeetCode680:Valid Palindrome II 验证回文字符串之二题目说明分析最终代码代码题目说明Given a non-empty string s, you may delete at most one character. Judge whether you can make it a palindrome.Example 1:Input: “aba”Output:...原创 2019-02-10 15:41:48 · 396 阅读 · 0 评论 -
LeetCode538: Convert BST to Greater Tree 把二叉搜索树转换为累加树
LeetCode443:String Compression 字符串压缩题目说明分析代码题目说明Given an array of characters, compress it in-place.The length after compression must always be smaller than or equal to the original array.Every ele...原创 2019-02-09 01:00:38 · 169 阅读 · 0 评论 -
LeetCode523:连续的子数组和
LeetCode523:连续的子数组和题目说明代码及分析题目说明给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例1:输入: [23,2,4,6,7], k = 6输出: True解释: [2,4] 是一个大小为 2 的子数组,并且和为 6。示例2:输入: ...原创 2019-01-22 00:14:18 · 1332 阅读 · 0 评论 -
LeetCode116:填充同一层的兄弟节点
LeetCode116:填充同一层的节点题目说明题目分析代码1代码2代码3题目说明给定一个二叉树struct TreeLinkNode {TreeLinkNode *left;TreeLinkNode *right;TreeLinkNode *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。...原创 2018-12-24 22:00:22 · 338 阅读 · 0 评论