![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode算法
海大陈小春
这个作者很懒,什么都没留下…
展开
-
Leetcode 4. 寻找两个有序数组的中位数(python3)
题目描述:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。示例:示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中...原创 2020-02-06 15:50:02 · 241 阅读 · 0 评论 -
Leetcode 3.无重复字符的最长子串(python)
题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串(连续的) 的长度,“pwke” 是一个子序列,不是子串。自己思路:...原创 2020-02-05 10:49:31 · 229 阅读 · 0 评论 -
Leetcode 2. 两数相加(python3)
题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 ...原创 2020-02-04 16:37:27 · 202 阅读 · 0 评论 -
Leetcode100. 相同的树(python3)
题目描述:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。解法1:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = N...原创 2019-02-28 14:38:53 · 77 阅读 · 0 评论 -
Leetcode58. 最后一个单词的长度(python3)
Leetcode58. 最后一个单词的长度题目描述:给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: “Hello World”输出: 5解法1:class Solution: def lengthOfLastWord(self, s):...原创 2019-02-19 14:05:49 · 175 阅读 · 0 评论 -
Leetcode66. 加一(python3)
Leetcode66. 加一题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例:示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解...原创 2019-02-19 14:32:31 · 132 阅读 · 0 评论 -
Leetcode67. 二进制求和
Leetcode67. 二进制求和题目描述:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例:示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”解法1:class Solution: def addBinary(s...原创 2019-02-19 15:02:25 · 105 阅读 · 0 评论 -
Leetcode107. 二叉树的层次遍历 II(python3)
Leetcode107. 二叉树的层次遍历 II题目描述:给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)解法1:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# ...原创 2019-03-01 10:44:59 · 91 阅读 · 0 评论 -
Leetcode101. 对称二叉树
Leetcode101. 对称二叉树题目描述:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。解法1:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# sel...原创 2019-03-01 13:40:19 · 88 阅读 · 0 评论 -
Leetcode108. 将有序数组转换为二叉搜索树(python3)
题目描述:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。解法1:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# ...原创 2019-03-03 13:05:46 · 164 阅读 · 0 评论 -
Leetcode110. 平衡二叉树 (python3)
Leetcode110. 平衡二叉树题目描述:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。解法1:class Solution: def isBalanced(self, root): """ :type root: TreeNode ...原创 2019-03-04 13:58:29 · 337 阅读 · 0 评论 -
Leetcode1 两数之和(C++)
题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class...原创 2019-07-02 14:13:15 · 424 阅读 · 0 评论 -
Leetcode 186.Excel表列名称(python3)
题目描述:给定一个正整数,返回它在 Excel 表中相对应的列名称。例如,1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB ...class Solution(object): def convertToTitle(self, n): """ :type n:...原创 2019-07-05 10:57:31 · 195 阅读 · 0 评论 -
Leetcode171. Excel表列序号(python3)
题目描述:给定一个Excel表格中的列名称,返回其相应的列序号。例如,A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...class Solution(object): def titleToNumber(self, s): """ :type s: st...原创 2019-07-05 12:45:24 · 107 阅读 · 0 评论 -
Leetcode88. 合并两个有序数组(python)
题目描述:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。实例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2...原创 2019-02-28 11:07:05 · 162 阅读 · 0 评论 -
Leetcode82. 删除排序链表中的重复元素 II(python)
Leetcode82. 删除排序链表中的重复元素 II题目描述:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。实例:示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3解法1:...原创 2019-02-23 17:13:27 · 163 阅读 · 0 评论 -
Leetcode83. 删除排序链表中的重复元素
Leetcode83. 删除排序链表中的重复元素题目描述:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。实例:示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解法1:(python)# Definition for singly-linked...原创 2019-02-23 16:03:05 · 118 阅读 · 0 评论 -
Leetcode1.两数相加(python3)
Leetcode1.两数相加(python3)题目描述 :给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。实例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 ...原创 2019-01-26 09:24:06 · 127 阅读 · 0 评论 -
Leetcode7.整数反转(python3)
Leetcode7.整数反转题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。实例:示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21解法1:(python)class Solution: def reverse(self, x): """ ...原创 2019-01-26 09:27:03 · 166 阅读 · 0 评论 -
Leetcode9.回文数
Leetcode9.回文数题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。实例:示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 ...原创 2019-01-26 09:33:39 · 88 阅读 · 0 评论 -
Leetcode13.罗马数字转整数
Leetcode13.罗马数字转整数题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗...原创 2019-01-26 15:34:35 · 385 阅读 · 0 评论 -
Leetcode14. 最长公共前缀
Leetcode14. 最长公共前缀题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。实例:示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。解法1:(python)class Solut...原创 2019-01-26 15:48:41 · 148 阅读 · 0 评论 -
Leetcode20. 有效的括号
Leetcode20. 有效的括号题目描述:有效字符串需满足:j左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。实例:示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false解法1(python)class Solution: def isValid(self, s...原创 2019-01-26 16:17:00 · 76 阅读 · 0 评论 -
Leetcode21. 合并两个有序链表
21. 合并两个有序链表题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。实例:示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解法1(python)class Solution: def less(self, a, b): ...原创 2019-01-27 09:59:22 · 104 阅读 · 0 评论 -
Leetcode26. 删除排序数组中的重复项
Leetcode26. 删除排序数组中的重复项题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。实例:示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你...原创 2019-01-27 10:14:35 · 74 阅读 · 0 评论 -
Leetcode27. 移除元素
Leetcode27. 移除元素题目描述:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。实例:示例 1:给定 nums = [3,2,2,3], val = 3,函数应该...原创 2019-01-28 10:01:55 · 84 阅读 · 0 评论 -
Leetcode28. 实现strStr()
Leetcode28. 实现strStr()题目描述:给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。实例:示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaa...原创 2019-01-30 09:07:12 · 87 阅读 · 0 评论 -
Leetcode35. 搜索插入位置(python3)
Leetcode35. 搜索插入位置题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。实例:示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入...原创 2019-01-31 09:04:31 · 249 阅读 · 0 评论 -
Leetcode53.最大子序和(python3)
Leetcode53.最大子序和题目描述:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。实例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解法1:(python)class Solution(object): def maxSubArra...原创 2019-01-31 09:51:34 · 216 阅读 · 0 评论 -
Leetcode70. 爬楼梯
Leetcode70. 爬楼梯题目描述:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 :示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。3. 1 阶 + 1...原创 2019-02-23 15:37:49 · 127 阅读 · 0 评论