自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 LeetCode 283. 移动零

题目描述: 移动零        给定一个数组 nums, 编写一个函数将所有 0 移动到它的末尾,同时保持非零元素的相对顺序。        例如, 定义 nums = [0, 1, 0, 3, 12],调用函数之后, nums 应为 [1, 3, 12, 0, 0]。注意事项:必须在原数组上操作,不要为一个新数组分配额外空间。尽量减少操作总数。代码:class Solution {publi...

2018-04-27 00:56:19 165

原创 LeetCode 278. 第一个错误的版本

题目描述: 第一个错误的版本        你是产品经理,目前正在领导一个团队开发一个新产品。不幸的是,您的产品的最新版本没有通过质量检查。由于每个版本都是基于之前的版本开发的,所以错误版本之后的所有版本都是不好的。        假设你有 n 个版本 [1, 2, ..., n],你想找出第一个错误的版本,导致下面所有的错误。        你可以通过 bool isBadVersion(ver...

2018-04-27 00:49:01 2204

原创 LeetCode 268. 缺失数字

题目描述: 缺失数字        给出一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。案例 1输入: [3,0,1]输出: 2 案例 2输入: [9,6,4,2,3,5,7,0,1]输出: 8 注意事项:        您的算法应该以线性复杂度运行。你能否仅使用恒定的额外空间复杂度来实现它?解题思路:        1到n的和...

2018-04-25 00:44:41 271

原创 LeetCode 263. 丑数

题目描述: 丑数        编写程序判断给定的数是否为丑数。        丑数就是只包含质因子 2, 3, 5 的正整数。例如, 6, 8 是丑数,而 14 不是,因为它包含了另外一个质因子 7。注意:1 也可以被当做丑数。输入不会超过32位整数的范围。代码:class Solution {public: bool isUgly(int num) { if(num ...

2018-04-25 00:38:07 666

原创 LeetCode 257. 二叉树的所有路径

题目描述: 二叉树的所有路径        给定一个二叉树,返回从根节点到叶节点的所有路径。        例如,给定以下二叉树: 1 / \2 3 \ 5        所有根到叶路径是:["1->2->5", "1->3"]解题思路:        递归到叶节点,然后push进vs,也没什么说的。注意vector要引用,string不要引用。代码:...

2018-04-24 00:13:08 688

原创 LeetCode 242. 有效的字母异位词

题目描述: 有效的字母异位词        给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。例如,        s = "anagram",t = "nagaram",返回 true        s = "rat",t = "car",返回 false注意:        假定字符串只包含小写字母。提升难度:        输入的字符串包含 unicode ...

2018-04-23 01:12:05 428

原创 LeetCode 237. 删除链表中的节点

题目描述: 删除链表中的节点        请编写一个函数,使其可以删除某个链表中给定的(非末尾的)节点,您将只被给予要求被删除的节点。        比如:假设该链表为 1 -> 2 -> 3 -> 4  ,给定您的为该链表中值为 3 的第三个节点,那么在调用了您的函数之后,该链表则应变成 1 -> 2 -> 4 。解题思路:        不太懂这个题?_?代码:...

2018-04-23 00:48:56 3558

原创 LeetCode 235. 二叉搜索树的最近公共祖先

题目描述: 二叉搜索树的最近公共祖先        给定一棵二叉搜索树, 找到该树中两个指定节点的最近公共祖先。        百度百科中最近公共祖先的定义: “对于有根树T的两个结点u、v,最近公共祖先表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。”(一个节点也可以是它自己的祖先) _______6______ / \ __...

2018-04-22 01:10:55 503

原创 LeetCode 234. 回文链表

题目描述: 回文链表        请检查一个链表是否为回文链表。进阶:        你能在 O(n) 的时间和 O(1) 的额外空间中做到吗?解题思路:        用数组把所有的val存下来,然后判断数组是不是回文的。代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ...

2018-04-22 00:40:21 743

原创 LeetCode 232. 用栈实现队列

题目描述: 用栈实现队列使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。pop() -- 从队列首部移除元素。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。注意:你只能使用标准的栈操作-- 也就是只有push to top, peek/pop from top, size, 和 is empty 操作是合法的。你所使用的语言也许不支持栈。...

2018-04-21 00:29:18 3254

原创 LeetCode 231. 2的幂

题目描述: 2的幂        给定一个整数,写一个函数来判断它是否是2的幂。代码:class Solution {public: bool isPowerOfTwo(int n) { if(n < 1) return false; while(n != 1) { if(n%2 == 1) return false; ...

2018-04-21 00:15:17 776

原创 LeetCode 206. 反转链表

题目描述: 反转链表        翻转一棵二叉树。 4 / \ 2 7 / \ / \1 3 6 9        转换为: 4 / \ 7 2 / \ / \9 6 3 1备注:        这个问题是受到 Max Howell 的 原问题 启发 :谷歌:我们90%的工程师使用您编写的软件(Homeb...

2018-04-20 01:42:58 115

原创 *LeetCode 225. 用队列实现栈

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

2018-04-20 01:31:47 4507 1

原创 LeetCode 219. 存在重复 II

题目描述: 存在重复 II        给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使 nums [i] = nums [j],并且 i 和 j 的绝对差值最大为 k。解题思路:        题意严重有问题!并且 i 和 j 的绝对差值最大为 k        我的理解是:满足nums[i] = nums[j]的所有 i 和 j 中,他们的绝对值差最大为k。 ...

2018-04-20 00:22:33 929

原创 LeetCode 217. 存在重复

题目描述: 存在重复        给定一个整数数组,判断是否存在重复元素。        如果任何值在数组中出现至少两次,函数应该返回 true。如果每个元素都不相同,则返回 false。解题思路:        先给数组排序,然后判断相邻元素是否相等。代码:class Solution {public: bool containsDuplicate(vector<int>...

2018-04-19 01:20:25 123

原创 LeetCode 206. 反转链表

题目描述: 反转链表        反转一个单链表。进阶:        链表可以迭代或递归地反转。你能否两个都实现一遍?解题思路——迭代:        设置三个指针分别指向连续的三个节点,每次完成节点的反向就把三个节点同时后移,直到所有节点反转。代码:/** * Definition for singly-linked list. * struct ListNode { * in...

2018-04-19 01:15:59 147

原创 LeetCode 205. 同构字符串

题目描述: 同构字符串        给定两个字符串 s 和 t,判断它们是否是同构的。        如果 s 中的字符可以被替换最终变成 t ,则两个字符串是同构的。        所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。例如,        给定 "egg", "add", 返回 true.        给定 "fo...

2018-04-18 13:15:50 1164

原创 LeetCode 204. 计数质数

题目描述: 计数质数        计算所有小于非负数整数 n 的质数数量。解题思路:        判断小于n的所有正整数是不是素数,是的话ans加一。代码:class Solution {public: int countPrimes(int n) { if(n == 0) return 0; int ans=0; for(int i ...

2018-04-18 00:35:52 531

原创 LeetCode 203. 删除链表中的元素

题目描述: 删除链表中的元素        删除链表中等于给定值 val 的所有元素。示例        给定: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6        返回: 1 --> 2 --> 3 --> 4 --> 5代码:/** * Definition for singl...

2018-04-18 00:19:31 1003

原创 LeetCode 202. 快乐数

题目描述: 快乐数        写一个算法来判断一个数是不是“快乐数”。        一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,或是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。案例: 19 是一个快乐数。12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + ...

2018-04-18 00:12:40 1594

原创 LeetCode 198. 打家劫舍

题目描述: 打家劫舍        你是一个专业的强盗,计划抢劫沿街的房屋。每间房都藏有一定的现金,阻止你抢劫他们的唯一的制约因素就是相邻的房屋有保安系统连接,如果两间相邻的房屋在同一晚上被闯入,它会自动联系警方。        给定一个代表每个房屋的金额的非负整数列表,确定你可以在没有提醒警方的情况下抢劫的最高金额。解题思路:        动态规划:状态方程:ans[i]表示从第0家偷到第i家...

2018-04-17 00:35:29 413

原创 LeetCode 191. 位1的个数

题目描述: 位1的个数        编写一个函数,输入是一个无符号整数,返回的是它所有 位1 的个数(也被称为汉明重量)。        例如,32位整数 '11' 的二进制表示为 00000000000000000000000000001011,所以函数返回3。代码:class Solution {public: int hammingWeight(uint32_t n) { ...

2018-04-17 00:21:12 379

原创 LeetCode 190. 颠倒二进制位

题目描述: 颠倒二进制位        颠倒给定的32位无符号整数的二进制位。        例如,给定输入 43261596(二进制表示为 00000010100101000001111010011100 ),返回 964176192(二进制表示为00111001011110 000010100101000000)。问题进阶:        如果多次调用这个函数,你将如何优化它?解题思路:   ...

2018-04-17 00:18:11 1109

原创 LeetCode 189. 旋转数组

题目描述: 旋转数组        将包含 n 个元素的数组向右旋转 k 步。        例如,如果  n = 7 ,  k = 3,给定数组  [1,2,3,4,5,6,7]  ,向右旋转后的结果为 [5,6,7,1,2,3,4]。注意:        尽可能找到更多的解决方案,这里最少有三种不同的方法解决这个问题。代码:class Solution {public: void r...

2018-04-16 00:28:08 168

原创 LeetCode 172. 阶乘后的零

题目描述: 阶乘后的零        给定一个整数 n,返回 n! 结果尾数中零的数量。        注意: 你的解决方案应为对数时间复杂度。解题思路:        列出所有5的倍数发现了规律,所有5的倍数会添加一个0,所有5^2的倍数会比5的倍数多添加一个0,.......,所以得出了代码。代码:class Solution {public: int trailingZeroes(...

2018-04-15 01:20:14 2001

原创 LeetCode 171. Excel表列序号

题目描述: Excel表列序号        与 Excel表列名称 问题类似。        给定一个Excel表格中的列名称,返回其相应的列序号。示例: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 解题思路:        正常的26进制转10进制...

2018-04-15 00:50:13 1643

原创 LeetCode 169. 求众数

题目描述: 求众数        给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。        你可以假设数组是非空的,并且数组中的众数永远存在。解题思路:       照题目中众数的定义,数量超过总数一半的数,那么排序后直接输出最中间的数就行了代码:class Solution {public: int majorityElement...

2018-04-15 00:43:09 444

原创 LeetCode 168. Excel表列名称

题目描述: Excel表列名称给定一个正整数,返回它在Excel表中相对应的列名称。示例: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB 解题思路:        注:看清楚题目的本质思路,思路出现问题就想办法解决,不要一直换思路。        先通过...

2018-04-15 00:31:39 920

原创 LeetCode 167. 两数之和 II - 输入有序数组

题目描述: 两数之和 II - 输入有序数组给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。请注意,返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入都只有一个解决方案,而且你不会重复使用相同的元素。输入:数组 = {2, 7, 11, 15...

2018-04-14 00:40:11 1469

原创 *LeetCode 160. 相交链表

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

2018-04-13 00:55:29 5291 5

原创 LeetCode 155. 最小栈

题目描述: 最小栈    设计一个支持 push,pop,top 操作,并能在常量时间内检索最小元素的栈。push(x) -- 将元素x推入栈中。pop() -- 删除栈顶的元素。top() -- 获取栈顶元素。getMin() -- 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(...

2018-04-12 00:30:53 1008 2

原创 LeetCode 141. 环形链表

题目描述: 环形链表        给定一个链表,判断链表中否有环。补充:        你是否可以不用额外空间解决此题?解题思路:        一开始的代码只针对链表的头尾循环的特殊情况,没有考虑在中间成环,中间成环的没想出不用额外空间的方法,所以就直接加了判定循环次数然后过了。看了一下别人的代码思路,就是用两个指针,一个跑的快一个跑的慢,那么如果有环的话,跑的快的一定会追满的一圈。代码:/*...

2018-04-11 00:37:49 4040 1

原创 LeetCode 136. 只出现一次的数字

题目描述: 只出现一次的数字        给定一个整数数组,除了某个元素外其余元素均出现两次。请找出这个只出现一次的元素。备注:        你的算法应该是一个线性时间复杂度。 你可以不用额外空间来实现它吗?解题思路:        排序后,所有相同的数都是相邻的,比较相邻的数以得出答案。代码:class Solution {public: int singleNumber(vect...

2018-04-10 00:47:27 193

原创 LeetCode 125. 验证回文字符串

题目描述: 验证回文字符串给定一个字符串,确定它是否是回文,只考虑字母数字字符和忽略大小写。例如:"A man, a plan, a canal: Panama" 是回文字符串。"race a car" 不是回文字符串。注意:你有考虑过这个字符串可能是空的吗? 在面试中这是一个很好的问题。针对此题目,我们将空字符串定义为有效的回文字符串。解题思路:        删除掉不是字母和数字的字符,把所有...

2018-04-10 00:33:31 378

原创 LeetCode 122. 买卖股票的最佳时机 II

题目描述: 买卖股票的最佳时机 II        假设有一个数组,它的第 i 个元素是一个给定的股票在第 i 天的价格。        设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交易(你必须在再次购买前出售股票)。解题思路:        只要明天的股票比今天的低就把今天的卖掉,明天再低价买进,如此反复。到了最后再把所有的股票卖掉就好了。代码...

2018-04-09 00:36:57 545

原创 LeetCode 121. 买卖股票的最佳时机

题目描述: 买卖股票的最佳时机        假设你有一个数组,其中第 i 个元素是一支给定股票第 i 天的价格。        如果您只能完成最多一笔交易(即买入和卖出一股股票),则设计一个算法来找到最大的利润。示例 1:输入: [7, 1, 5, 3, 6, 4]输出: 5最大利润 = 6-1 = 5(不是 7-1 = 6, 因为卖出价格需要大于买入价格) 示例 2:输入: [7, 6...

2018-04-08 13:05:37 1090

原创 LeetCode 119. 帕斯卡三角形 II

题目描述: 帕斯卡三角形 II        给定一个索引 k,返回帕斯卡三角形(杨辉三角)的第 k 行。        例如,给定 k = 3,        则返回 [1, 3, 3, 1]。         注:        你可以优化你的算法到 O(k) 的空间复杂度吗?解题思路:        第k行就是k的所有组合。代码:class Solution {public: ve...

2018-04-08 01:19:26 159

原创 LeetCode 118. 帕斯卡三角形

题目描述: 帕斯卡三角形        给定 numRows, 生成帕斯卡三角形的前 numRows 行。        例如, 给定 numRows = 5,        返回[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]解题思路:        两边的数是1,中间的数的值等于两肩之和。代码:class Soluti...

2018-04-08 01:02:36 817

原创 LeetCode 112. 路径总和

题目描述: 路径总和                给定一棵二叉树和一个总和,确定该树中是否存在根到叶的路径,这条路径的所有值相加等于给定的总和。例如:给定下面的二叉树和 总和 = 22, 5 / \ 4 8 / / \ 11 13 4 / \ ...

2018-04-08 00:46:38 1420

原创 LeetCode 111. 二叉树的最小深度

题目描述: 二叉树的最小深度        给定一个二叉树,找出其最小深度。        最小深度是从根节点到最近叶节点的最短路径的节点数量。解题思路:        返回左右子树的深度,取最小值。注意:深度是从根节点到最近叶节点!所以要判断该节点是不是叶子。代码:/** * Definition for a binary tree node. * struct TreeNode { * ...

2018-04-08 00:25:39 310

空空如也

空空如也

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

TA关注的人

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