
leetcode
IT_job
这个作者很懒,什么都没留下…
展开
-
leetcode108python将有序数组转换为二叉搜索树
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5pyt...原创 2018-05-29 15:20:22 · 1338 阅读 · 0 评论 -
leetcode350python 两个数组的交集 II
给定两个数组,写一个方法来计算它们的交集。例如:给定 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].注意: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。跟进:如果给定的数组已经排好序呢?你将如何优化你的算法?如果 nums1 的大小比 nums2 小很多,哪种方法更优?如果nums2的元...原创 2018-05-22 19:45:27 · 1302 阅读 · 0 评论 -
leetcode349python 两个数组的交集
给定两个数组,写一个函数来计算它们的交集。例子: 给定 num1= [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].提示:每个在结果中的元素必定是唯一的。我们可以不考虑输出结果的顺序。class Solution(object): def intersection(self, nums1, nums2): """ :type num...原创 2018-05-22 19:01:50 · 430 阅读 · 0 评论 -
leetcode345python 反转字符串中的元音字母
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:给定 s = "hello", 返回 "holle".示例 2:给定 s = "leetcode", 返回 "leotcede".注意:元音字母不包括 "y".pythonclass Solution(object): def reverseVowels(self, s): """原创 2018-05-22 18:51:20 · 881 阅读 · 0 评论 -
leetcode374 python猜数字大小
我们正在玩一个猜数字游戏。 游戏规则如下:我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0):-1 : 我的数字比较小 1 : 我的数字比较大 0 : 恭喜!你猜对了!示例:n = 10, 我选择 6.返回 6. ...原创 2018-05-22 16:57:31 · 1350 阅读 · 0 评论 -
leetcode371python 两整数之和
不使用运算符 + 和-,计算两整数a 、b之和。示例:若 a = 1 ,b = 2,返回 3。python第一种class Solution(object): def getSum(self, a, b): """ :type a: int :type b: int :rtype: int """ ...原创 2018-05-22 16:32:18 · 1287 阅读 · 0 评论 -
leetcode278python第一个错误的版本
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现...原创 2018-05-27 11:19:16 · 2012 阅读 · 3 评论 -
119 python 杨辉三角2
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]python 代码class Solution: def getRow(self, rowIndex): """ :type rowIndex: int :rtype: List[in...原创 2018-05-16 08:48:08 · 736 阅读 · 0 评论 -
leetcode344python 反转字符串
请编写一个函数,其功能是将输入的字符串反转过来。示例:输入:s = "hello"返回:"olleh"第一种方法class Solution(object): def reverseString(self, s): """ :type s: str :rtype: str """ s_list=list(s)...原创 2018-05-22 14:54:27 · 881 阅读 · 0 评论 -
leetcode389python 找不同
给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。 示例:输入:s = "abcd"t = "abcde"输出:e解释:'e' 是那个被添加的字母。第一种方法class Solution(object): def findTheDifference(self, s, t): ...原创 2018-05-22 14:43:42 · 969 阅读 · 0 评论 -
leetcode283python 移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。class Solution(object): def moveZeroes(self, nums): """ :type num...原创 2018-05-22 13:25:58 · 517 阅读 · 0 评论 -
leetcode342python 4的幂
给定一个整数 (32位有符整数型),请写出一个函数来检验它是否是4的幂。示例:当 num = 16 时 ,返回 true 。 当 num = 5时,返回 false。问题进阶:你能不使用循环/递归来解决这个问题吗?python第一版class Solution(object): def isPowerOfFour(self, num): """ :type ...原创 2018-05-21 14:47:02 · 515 阅读 · 0 评论 -
leetcode326 python 3的幂
给出一个整数,写一个函数来确定这个数是不是3的一个幂。后续挑战:你能不使用循环或者递归完成本题吗?循环class Solution(object): def isPowerOfThree(self, n): """ :type n: int :rtype: bool """ while n>0: ...原创 2018-05-21 14:25:26 · 944 阅读 · 1 评论 -
leetcode268python缺失数字
给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8class Solution(object): def missingNumber(self, nums): """ :type n...原创 2018-05-21 14:07:26 · 674 阅读 · 0 评论 -
leetcode258python 各位相加
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。进阶:你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?class Solution(object): def addDigits(self, num): ...原创 2018-05-21 11:27:50 · 738 阅读 · 0 评论 -
leetcode290python单词模式
给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示例 2:输入:pattern = "abba", str = "do...原创 2018-05-25 10:08:14 · 896 阅读 · 0 评论 -
leetcode263 python 丑数
编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例 1:输入: 6输出: true解释: 6 = 2 × 3示例 2:输入: 8输出: true解释: 8 = 2 × 2 × 2示例 3:输入: 14输出: false 解释: 14 不是丑数,因为它包含了另外一个质因数 7。说明:1 是丑数。输入不会超过 32 位有符号整数的范围: [−231,...原创 2018-05-21 10:58:00 · 738 阅读 · 0 评论 -
leetcode367python 有效的完全平方数
给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。注意:不要使用任何内置的库函数,如 sqrt。示例 1:输入: 16输出: True 示例 2:输入: 14输出: Falsepython 与求一个数的平方根类似class Solution(object): def isPerfectSquare(self, num):...原创 2018-05-22 20:19:05 · 1199 阅读 · 0 评论 -
leetcode257python二叉树的所有路径
给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3python3# Definition for a binary tree node....原创 2018-05-27 14:12:18 · 1252 阅读 · 0 评论 -
leetcode242python有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: falsepythonclass Solution(object): def isAnagram(self, s, t): """.原创 2018-05-27 14:40:35 · 1111 阅读 · 1 评论 -
leetcode107python二叉树的层次遍历 II
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]python3# Definition for a bin...原创 2018-05-29 14:54:06 · 2595 阅读 · 3 评论 -
leetcode292python Nim游戏
你和你的朋友,两个人一起玩Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1块、2块 还是 3块石头,最后一块石头...原创 2018-05-24 10:59:18 · 1114 阅读 · 1 评论 -
leetcode303python区域和检索 - 数组不可变
给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。示例:给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为sumRange()sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> -3pythonclass NumArra...原创 2018-05-24 10:33:52 · 885 阅读 · 0 评论 -
leetcode383python赎金信
给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)注意:你可以假设两个字符串均只含有小写字母。canConstruct("a", "b") ->...原创 2018-05-24 09:38:10 · 581 阅读 · 0 评论 -
leetcode226python 翻转二叉树
翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1备注:这个问题是受到 Max Howell 的 原问题 启发的 :谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道...原创 2018-05-28 14:51:52 · 1351 阅读 · 0 评论 -
leetcode231python2的幂
给定一个整数,写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true示例 2:输入: 16输出: true示例 3:输入: 218输出: falsepython3class Solution(object): def isPowerOfTwo(self, n): """ :type n: int :rtype: b...原创 2018-05-28 14:18:49 · 646 阅读 · 0 评论 -
leetcode401python 二进制手表
二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,上面的二进制手表读取 “3:25”。给定一个非负整数 n 代表当前 LED 亮着的数量,返回所有可能的时间。案例:输入: n = 1返回: ["1:00", "2:00", "4:00", "8:00", "0:01", "0:02"原创 2018-05-23 15:20:28 · 908 阅读 · 0 评论 -
leetcode400python 第N个数字
在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字。注意:n 是正数且在32为整形范围内 ( n < 231)。示例 1:输入:3输出:3示例 2:输入:11输出:0说明:第11个数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 里是0,它是10的一部分。class...原创 2018-05-23 14:54:40 · 1414 阅读 · 0 评论 -
leetcode232python用栈实现队列
使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。pop() -- 从队列首部移除元素。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。注意:你只能使用标准的栈操作-- 也就是只有push to top, peek/pop from top, size, 和 is empty 操作是合法的。你所使用的语言也许不支持栈。你可以使用 list 或...原创 2018-05-28 11:10:56 · 1355 阅读 · 0 评论 -
leetcode225python用队列实现栈
使用队列实现栈的下列操作:push(x) --元素 x 入栈pop() -- 移除栈顶元素top() -- 获取栈顶元素empty() --返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支持队列。 你可以使用 list 或者 deque (双端队...原创 2018-05-28 10:46:51 · 1486 阅读 · 0 评论 -
leetcode387python 字符串中的第一个唯一字符
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2.python3class Solution(object): def firstUniqChar(self, s): """ :type s: str :rt...原创 2018-05-23 11:30:41 · 2113 阅读 · 0 评论 -
leetcode121 python 买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能...原创 2018-05-16 22:14:33 · 1355 阅读 · 0 评论 -
leetcode219python存在重复元素 II
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 1:输入: [1,2,3,1], k = 3输出: true示例 2:输入: [1,0,1,1], k = 1输出: true示例 3:输入: [1,2,1], k = 0输出: falsepython3class Sol...原创 2018-05-27 21:47:34 · 728 阅读 · 0 评论 -
leetcode206python反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?# Definition for singly-linked list.# class ListNode(object):# def __init__...原创 2018-05-22 22:14:04 · 1479 阅读 · 0 评论 -
leetcode217python存在重复元素
给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 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]输出: truepython3class Solution(object...原创 2018-05-27 15:26:37 · 1202 阅读 · 0 评论 -
leetcode237python删除链表中的节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾的)节点,您将只被给予要求被删除的节点。比如:假设该链表为 1 -> 2 -> 3 -> 4 ,给定您的为该链表中值为 3 的第三个节点,那么在调用了您的函数之后,该链表则应变成 1 -> 2 -> 4 。python3# Definition for singly-linked list.# class Lis...原创 2018-05-27 14:52:19 · 2277 阅读 · 0 评论 -
leetcode404python 左叶子之和
计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24python3# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# ...原创 2018-05-20 10:28:48 · 599 阅读 · 0 评论 -
leetcode104 python 二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。# Definition for a binary tree node.# class TreeNode...原创 2018-05-07 13:25:17 · 2752 阅读 · 0 评论 -
leetcode405 python 数字转换为十六进制数
给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。注意:十六进制中所有字母(a-f)都必须是小写。十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。 给定的数确保在32位有符号整数范围内。不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。示例 1:输...原创 2018-05-20 09:27:37 · 1700 阅读 · 0 评论 -
leetcode35 python实现搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0python语言class S...原创 2018-05-04 17:22:46 · 822 阅读 · 0 评论