![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode python
新雪兰
所有内容均原创,主要用于工作总结,有问题欢迎指出
展开
-
python 字符串去除驼峰
字符串驼峰指 相邻的三个字符 两端的两个字符相同,如:aba、AcA去驼峰从左到右,每遇到一组驼峰就消除,需要考虑之前不是驼峰,但是由于去除了中间字符新生成的驼峰。例如:acacba思路:使用栈的思想,每次元素入栈,如果栈中的元素个数超过2个,则校验与当前的元素是否有驼峰,有驼峰则最后三个元素出栈python实现如下:def tuofeng(a): if len(a)<=2: return [] res = [] for i in range(0原创 2020-06-28 19:44:50 · 2858 阅读 · 3 评论 -
LeetCode之28. Implement strStr() python
实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needle = "bba"输出...原创 2018-04-23 18:59:44 · 138 阅读 · 0 评论 -
LeetCode之27. Remove Element python
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。...原创 2018-04-23 18:53:22 · 154 阅读 · 0 评论 -
LeetCode 之 26. Remove Duplicates from Sorted Array python
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums =...原创 2018-04-23 15:12:14 · 117 阅读 · 0 评论 -
LeetCode之 21. Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.Example:Input: 1->2->4, 1->3->4Output: 1->1...原创 2018-04-23 15:07:12 · 89 阅读 · 0 评论 -
LeetCode之 13. Roman to Integer python
罗马数字包含以下七种字符:I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做...原创 2018-04-23 15:05:41 · 218 阅读 · 0 评论 -
LeetCode之 9. Palindrome Number python
新手最近在刷LeetCode上的题,python实现的方法,算法不一定是最优的有什么意见或建议欢迎来提判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10...原创 2018-04-23 14:15:06 · 190 阅读 · 0 评论 -
LeetCode之 7. Reverse Integer
新手最近在刷LeetCode上的题,python实现的方法,算法不一定是最优的有什么意见或建议欢迎来提给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如...原创 2018-04-23 14:10:11 · 104 阅读 · 0 评论 -
LeetCode之 1. Two Sum python
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same el...原创 2018-04-23 14:03:22 · 97 阅读 · 0 评论 -
LeetCode之35. Search Insert Position
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 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输出: 0class Solution...原创 2018-04-23 19:01:19 · 86 阅读 · 0 评论 -
LeetCode之 58. Length of Last Word python
给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5class Solution(object): def lengthOfLastWord(self, s): """ :type s: ...原创 2018-04-24 10:36:22 · 138 阅读 · 0 评论 -
LeetCode之 104. Maximum Depth of Binary Tree python
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。基于DFS深度优先算法:# Definition for a binary tree node.# cl...原创 2018-04-25 10:16:24 · 508 阅读 · 0 评论 -
LeetCode之 107. Binary Tree Level Order Traversal II python
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]# Definition for a binary tre...原创 2018-04-25 10:20:41 · 365 阅读 · 0 评论 -
LeetCode之 53. Maximum Subarray python 分治法以后补充
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。class Solution(object): def maxSubArr...原创 2018-04-24 10:33:51 · 533 阅读 · 0 评论 -
LeetCode之 83. Remove Duplicates from Sorted List python
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3class Solution(object): def deleteDuplicates(self, head): """ ...原创 2018-04-24 10:48:46 · 187 阅读 · 0 评论 -
LeetCode之70. Climbing Stairs python
假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 步 + 1 步2. 2 步示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 步 + 1 步 + 1 步2. 1 步 + 2 步3. ...原创 2018-04-24 10:45:50 · 179 阅读 · 0 评论 -
LeetCode之69. Sqrt(x) python
实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。使用二分法实现:class Solution(object): def ...原创 2018-04-24 10:44:26 · 401 阅读 · 0 评论 -
LeetCode之 67. Add Binary python
给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"class Solution(object): def addBinary(self, a, b): "&原创 2018-04-24 10:42:45 · 195 阅读 · 0 评论 -
LeetCode之 66. Plus One python
给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。class Solu...原创 2018-04-24 10:41:29 · 159 阅读 · 0 评论 -
LeetCode之 101. Symmetric Tree python
给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3说明:如果你可以运用递归和迭代两种方法解决这个问题,会很加分。递归方...原创 2018-04-24 15:19:29 · 309 阅读 · 0 评论