自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

EasonWong的博客

菜鸟C++

  • 博客(140)
  • 问答 (1)
  • 收藏
  • 关注

原创 【Leetcode】88. 合并两个有序数组

题目描述:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3...

2018-12-24 08:43:07 233

原创 【Leetcode】367. 有效完全平方数

题目描述:给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如  sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False解题思路:连续奇数的和为完全平方数。AC代码:class Solution {public: bool...

2018-12-24 08:42:23 462

原创 【Leetcode】451. 根据字符出现频率排序

题目描述:给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:"tree"输出:"eert"解释:'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。示例 2:输入:"cccaaa"输出:"cccaaa"解释:'c'和'a'都出现三次。此外,"aaac.

2018-12-24 08:42:12 582

原创 【Leetcode】50. Pow(x,n)

题目描述:实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x ...

2018-12-24 08:42:00 155

原创 【Leetcode】324. 摆动排序Ⅱ

题目描述:给定一个无序的数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序。示例 1:输入: nums = [1, 5, 1, 1, 6, 4]输出: 一个可能的答案是 [1, 4, 1, 5, 1, 6]示例 2:输入: nums = [1, 3, 2, 2, 3, 1]输出: 一...

2018-12-24 08:41:40 442 2

原创 【Leetcode】680. 验证回文字符串 Ⅱ

题目描述:给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: "aba"输出: True示例 2:输入: "abca"输出: True解释: 你可以删除c字符。注意:字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。解题思路:可以删除一个字符,那我们从两端开始找不同的字符,如果找到不相等的字符s[l]...

2018-12-17 08:37:24 195

原创 【Leetcode】416. 分割和子集

题目描述:给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100 数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11]. 示例 2:输入: [1, 2, 3, 5]输出: false...

2018-12-17 08:37:07 480

原创 【Leetcode】11. 盛水最多的容器

题目描述:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容...

2018-12-17 08:36:41 133

原创 【Leetcode】160. 相交链表

题目描述:编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表:A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3在节点 c1 开始相交。 注意:...

2018-12-17 08:35:56 149

原创 【Leetcode】141. 环形链表

题目描述:给定一个链表,判断链表中是否有环。进阶:你能否不使用额外空间解决此题?解题思路:快慢指针。AC代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(...

2018-12-17 08:35:24 159

原创 【Leetcode】206. 反转链表

题目描述:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?解题思路:看到这题,一开始挺疑惑的。后来网上看了一下豁然开朗,主要是平常主要使用的都是向量和字符数组之类的,不太涉及地址空间...

2018-12-10 08:35:38 150

原创 【Leetcode】234. 回文链表

题目描述:请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?解题思路:本题对于我来讲还是挺难的。第一步,使用快慢指针找出回文链表中点;第二步,使用之前做过的翻转后半段链表;第三步,将前...

2018-12-10 08:35:25 147

原创 【Leetcode】203. 移除链表元素

题目描述:删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5解题思路:处理头指针的时候注意要先判断是否为空,空的话是没有值的。这时候取Val会报错。AC代码/** * Definition for singl...

2018-12-10 08:35:10 434

原创 【Leetcode】21. 合并两个有序链表

题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:合并有序链表,只需要逐位比较并在尾插入输出链表即可。AC代码:/** * Definition for singl...

2018-12-10 08:34:57 184

原创 【Leetcode】2. 两数相加

题目描述:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807解题思路:之前做过...

2018-12-10 08:34:43 142

原创 【Leetcode】925. 长按键入

题目描述:你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例 1:输入:name = "alex", typed = "aaleex"输出:true解释:'alex' 中的 'a' 和...

2018-12-03 08:46:11 199 1

原创 【Leetcode】67. 二进制求和

题目描述:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"解题思路:模拟加法器,每位都有和与进位。下一位是加数,被加数和进位之间的运算,这里直接是字符串

2018-12-03 08:45:58 131

原创 【Leetcode】38. 报数

题目描述:报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 1112211 被读作  "one 1"  ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被读作 "one 2",  "one 1" (&

2018-12-03 08:45:49 154

原创 【Leetcode】342. 4的幂

题目描述:给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。示例 1:输入: 16输出: true示例 2:输入: 5输出: false进阶:你能不使用循环或者递归来完成本题吗?解题思路:无法使用循环的话,使用位运算的方式处理。1,先判断是否为2的幂:2^n二进制为10...0,2^n-1二进制为01....1, ==...

2018-12-03 08:45:31 122

原创 【Leetcode】896. 单调数列

题目描述:如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。示例 1:输入:[1,2,2,3]输出:true示例 ...

2018-12-03 08:44:32 162

原创 【Leetcode】7. 反转整数

题目描述:给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231,  231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。解题思路:...

2018-11-26 08:58:15 119

原创 【Leetcode】892. 三维形体的表面积

题目描述:在 N * N 的网格上,我们放置一些 1 * 1 * 1  的立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。返回结果形体的总表面积。示例 1:输入:[[2]]输出:10示例 2:输入:[[1,2],[3,4]]输出:34示例 3:输入:[[1,0],[0,2]]输出:16示例 4...

2018-11-26 08:57:56 1251

原创 【Leetcode】665. 非递减数列

题目描述:给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),满足 array[i] <= array[i + 1]。示例 1:输入: [4,2,3]输出: True解释: 你可以通过把第一个4变成1来使得它成为一个非递减...

2018-11-26 08:57:36 203

原创 【Leetcode】252. 用队列实现栈

题目描述:使用队列实现栈的下列操作:push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。 你所使用的语言也许不支持队列。 你可...

2018-11-26 08:57:22 130

原创 【Leetcode】232. 用栈实现队列

题目描述:使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队列首部的元素。 empty() -- 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2); queue.peek(); // ...

2018-11-26 08:57:08 93

原创 【Leetcode】319. 灯泡开关

题目描述:初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第 i 轮,每 i 个灯泡切换一次开关。 对于第 n 轮,你只切换最后一个灯泡的开关。 找出 n 轮后有多少个亮着的灯泡。示例:输入: 3输出: 1 解释: 初始时, 灯泡状态 [关闭, 关闭, 关闭]....

2018-11-20 08:40:55 608

原创 【Leetcode】590. N叉树后序遍历

题目描述:给定一个 N 叉树,返回其节点值的后序遍历。例如,给定一个 3叉树 :  返回其后序遍历: [5,6,3,2,4,1].说明: 递归法很简单,你可以使用迭代法完成此题吗?解题思路:参照【589,N叉树前序遍历】。AC代码:1,递归求解:/*// Definition for a Node.class Node {public: ...

2018-11-20 08:39:59 226

原创 【Leetcode】589. N叉树前序遍历

题目描述:给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个 3叉树 :  返回其前序遍历: [1,3,5,6,2,4]。说明: 递归法很简单,你可以使用迭代法完成此题吗?解题思路:1,递归法求解。和二叉树前序遍历方式相同,根节点-》左子树前序-》右子树前序;AC代码:1,递归求解:/*// Definition for a Node....

2018-11-20 08:39:31 273

原创 【Leetcode】559. N叉树最大深度

题目描述:给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如,给定一个 3叉树 :  我们应返回其最大深度,3。说明:树的深度不会超过 1000。 树的节点总不会超过 5000。解题思路:之前有过求二叉树最大深度的题目,我们使用递归判断左右子树的深度得到二叉树的最大深度,对于N叉树,我们只要对每个根节点的深...

2018-11-20 08:39:21 349

原创 【Leetcode】812. 最大三角形面积

题目描述:给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]输出: 2解释: 这五个点如下图所示。组成的橙色三角形是最大的,面积为2。注意:3 <= points.length <= 50. 不存在重复的点。  -50 <= po...

2018-11-20 08:35:44 201

原创 【Leetcode】696. 计数二进制子串

题目描述:给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。重复出现的子串要计算它们出现的次数。示例 1 :输入: "00110011"输出: 6解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。请注意,一些重复出现的子串要计算它...

2018-11-14 08:35:48 358

原创 【Leetcode】598. 范围求和Ⅱ

题目描述:给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。示例 1...

2018-11-14 08:35:32 161

原创 【Leetcode】242. 有效的字母异位词

题目描述:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否...

2018-11-14 08:35:22 104

原创 【Leetcode】43.字符串相乘

题目描述:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。

2018-11-14 08:35:03 152

原创 【Leetcode】415.字符串相加

题目描述:给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。注意:num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num2 都不包含任何前导零。 你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。解题思路:加法器,需要注意进位的。其他的按照对应位相加。AC代...

2018-11-14 08:34:48 576

原创 【Leetcode】83. 删除排序链表中的重复元素

题目描述:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解题思路:排序链表就很简单啦。AC代码:/** * Definition for singly-linked ...

2018-11-05 08:31:45 108

原创 【Leetcode】191. 位1的个数

题目描述:编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 :输入: 11输出: 3解释: 整数 11 的二进制表示为 00000000000000000000000000001011示例 2:输入: 128输出: 1解释: 整数 128 的二进制表示为 00000000000000000000000010000...

2018-11-05 08:31:37 157

原创 【Leetcode】492. 构造矩形

题目描述:作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的。 现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求:1. 你设计的矩形页面必须等于给定的目标面积。2. 宽度 W 不应大于长度 L,换言之,要求 L >= W 。3. 长度 L 和宽度 W 之间的差距应当尽可能小。你需要按顺序输出你设计的...

2018-11-05 08:31:27 101

原创 【Leetcode】917. 仅仅反转字母

题目描述:给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1:输入:"ab-cd"输出:"dc-ba"示例 2:输入:"a-bC-dEf-ghIj"输出:"j-Ih-gfE-dCba"示例 3:输入:"Test1ng-Leet=code-Q!"输出:"Qedo1ct-eeLg=ntse.

2018-11-05 08:31:13 220

原创 【Leetcode】628. 三个数最大乘积

题目描述:给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。解题思路:注意正负数,最...

2018-11-05 08:30:56 174

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除