E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
LeetCode-Python
【
Leetcode-python
】4.Median of Two Sorted Arrays(两个排序数组的中位数)
题目:有两个排序的数组nums1和nums2,长度分别为m和n。找到两个排序数组的中位数。总运行时间复杂度应为O(log(m+n))。可以假设nums1和nums2不能都为空。例:nums1=[1,3]nums2=[2]中位数是2.0;nums1=[1,2]nums2=[3,4]中位数为(2+3)/2=2.5思路:可以将两个数组列表组合形成一个新的列表,再对新的列表排序,如果(m+n)%2==0,
vita2dolce
·
2020-06-23 14:48
算法
【
leetcode-python
】连续子数组的最大和
在这里输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。classSolution:defmaxSubArray(self,nums:List[int])->int:tmp=res=fl
hbk5241
·
2020-06-23 08:27
算法
leetcode
算法
leetcode
python
LeetCode-python
107.二叉树的层次遍历 II
题目链接难度:简单类型:二叉树给定一个二叉树,返回其节点值自底向上的层次遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)示例给定二叉树[3,9,20,null,null,15,7]3/\920/\157返回其自底向上的层次遍历为:[[15,7],[9,20],[3]]解题思路层序遍历,每遍历一层,把结果放在上一层的前面代码实现#Definitionforabinarytreenod
wzNote
·
2020-06-21 19:47
LeetCode-python
15.三数之和/18.四数之和
题15:类型:双指针、数组题目:给你一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a+b+c=0?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组nums=[-1,0,1,2,-1,-4],满足要求的三元组集合为:[[-1,0,1],[-1,-1,2]]本题采用双指针方法,给定主指针i并且遍历完成排序的数组(本题由小到大排序)
一个深入人心的名字
·
2020-04-18 00:30
LeetCode-python
1.两数之和
类型:哈希表、数组、双指针题目:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]用字典保存遍历过的nums数组中的数字(做字典的键)和
一个深入人心的名字
·
2020-04-12 13:48
LeetCode-python
103.二叉树的锯齿形层次遍历
题目链接难度:简单类型:栈给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树[3,9,20,null,null,15,7],返回:[[3],[20,9],[15,7]]解题思路二叉树的层序遍历,奇数行需要翻转代码实现#Definitionforabinarytreenode.#classTreeNode:#def
wzNote
·
2020-04-12 08:16
LeetCode-python
349.两个数组的交集
题目链接难度:简单类型:数组给定两个数组,编写一个函数来计算它们的交集。示例1输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2]示例2输入:nums1=[4,9,5],nums2=[9,4,9,8,4]输出:[9,4]解题思路两个数组分别求集合让小集合为nums1,大集合为nums2遍历nums1,查看其中的元素是否在nums2中,若在则记录下来代码实现classSoluti
wzNote
·
2020-04-09 17:00
LeetCode-python
241.为运算表达式设计优先级
题目链接难度:中等类型:分治给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含+,-以及*。示例1输入:"2-1-1"输出:[0,2]解释:((2-1)-1)=0(2-(1-1))=2示例2输入:"2*3-4*5"输出:[-34,-14,-10,-10,10]解释:(2*(3-(4*5)))=-34((2*3)-
wzNote
·
2020-04-07 03:13
LeetCode-python
60.第k个排列
题目链接难度:中等类型:数学给出集合[1,2,3,…,n],其所有元素共有n!种排列。按大小顺序列出所有排列情况,并一一标记,当n=3时,所有排列如下:"123""132""213""231""312""321"给定n和k,返回第k个排列。示例1输入:n=3,k=3输出:"213"示例2输入:n=4,k=9输出:"2314"解题思路对于n个数的排列,以‘1’开头的排列有(n-1)!个,以‘2’开头
wzNote
·
2020-04-04 04:20
LeetCode-python
239.滑动窗口最大值
题目链接难度:困难类型:数组给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口k内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例输入:nums=[1,3,-1,-3,5,3,6,7],和k=3输出:[3,3,5,5,6,7]解释:滑动窗口的位置最大值[13-1]-3536731[3-1-3]5367313[-1-35]367513-
wzNote
·
2020-04-02 22:34
LeetCode-python
204.计数质数
题目链接难度:简单类型:数组统计所有小于非负整数n的质数的数量。示例输入:10输出:4解释:小于10的质数一共有4个,它们是2,3,5,7。解题思路设置一个长度为n的数组is_primes,用于记录i是否为质数,若是,is_primes[i]=True,反之为False遍历1到n的数,当is_primes[i]是质数是,将i的倍数位全部置False,例如:当i=2为质数,就将4,6,8...全部修
wzNote
·
2020-03-28 01:31
LeetCode-python
1108.IP 地址无效化
题目链接难度:简单类型:字符串给你一个有效的IPv4地址address,返回这个IP地址的无效化版本。所谓无效化IP地址,其实就是用"[.]"代替了每个"."。示例1输入:address="1.1.1.1"输出:"1[.]1[.]1[.]1"示例2输入:address="255.100.50.0"输出:"255[.]100[.]50[.]0"代码实现classSolution(object):de
wzNote
·
2020-03-13 20:25
LeetCode-python
79.单词搜索
题目链接难度:中等类型:数组、字符串、深度优先搜索给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例board=[['A','B','C','E'],['S','F','C','S'],['A','D','E','E']]给定word="ABCCE
wzNote
·
2020-03-06 01:05
LeetCode-python
542.01 矩阵
题目链接难度:中等类型:数组、广度优先搜索给定一个由0和1组成的矩阵,找出每个元素到最近的0的距离。两个相邻元素间的距离为1。示例1输入:000010000输出:000010000示例2输入:000010111输出:000010121解题思路先找出matrix中所有0的坐标,记录在队列q中,并将值为1的地方赋为n+m,应为最远的距离也不会超过n+m2.遍历q中元素q[i],跟新q[i]周围四个点的
wzNote
·
2020-02-26 15:43
LeetCode-python
55.跳跃游戏
题目链接难度:中等类型:贪心算法给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1输入:[2,3,1,1,4]输出:true解释:从位置0到1跳1步,然后跳3步到达最后一个位置。示例2输入:[3,2,1,0,4]输出:false解释:无论怎样,你总会到达索引为3的位置。但该位置的最大跳跃长度是0,所以你永远不可
wzNote
·
2020-02-21 20:41
LeetCode-python
70.爬楼梯
题目链接难度:中等类型:动态规划假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?示例输入:3输出:3解释:有三种方法可以爬到楼顶。1.1阶+1阶+1阶2.1阶+2阶3.2阶+1阶解题思路dp[i]表示爬到第i阶可以用得方法跳上第i级台阶只有两种可能,一是从i-1级爬了一个台阶,二是从i-2级爬了2个台阶可以得到状态转移方程:dp[i]=dp[
wzNote
·
2020-02-19 04:57
LeetCode-python
64.最小路径和
题目链接难度:中等类型:动态规划给定一个包含非负整数的mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例输入:[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。解题思路到达每一个格子只有两种方法,左边向右走一步和上面向下走一步dp[i][j]表示从(0,0)到达(i,j)的最小路径和
wzNote
·
2020-02-19 02:22
LeetCode-python
90.子集 II
题目链接难度:中等类型:数组、深度优先搜索给定一个可能包含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例输入:[1,2,2]输出:[[2],[1],[1,2,2],[2,2],[1,2],[]]解题思路先排序,不然对顺序不敏感就会造成重复深度优先搜索,没有终止条件,同一个位置上,出现过的数字就直接跳过代码实现classSolution(object
wzNote
·
2020-02-14 23:09
LeetCode-python
62.不同路径
题目链接难度:中等类型:动态规划一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1输入:m=3,n=2输出:3解释:从左上角开始,总共有3条路径可以到达右下角。向右->向右->向下向右->向下->向右向下->向右->向右示例2输入:m=7,n=
wzNote
·
2020-02-13 22:40
LeetCode-python
71.简化路径
题目链接难度:中等类型:字符串以Unix风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在Unix风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点(..)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux/Unix中的绝对路径vs相对路径请注意,返回的规范路径必须始终以斜杠/开头,并且两个目录名之间必须只有一
wzNote
·
2020-02-13 05:08
LeetCode-python
63.不同路径 II
题目链接难度:中等类型:动态规划一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?示例输入:[[0,0,0],[0,1,0],[0,0,0]]输出:2解释:3x3网格的正中间有一个障碍物。从左上角到右下角一共
wzNote
·
2020-02-13 02:32
LeetCode-python
997.找到小镇的法官
题目链接难度:简单类型:数组、图在一个小镇里,按从1到N标记了N个人。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么:小镇的法官不相信任何人。每个人(除了小镇法官外)都信任小镇的法官。只有一个人同时满足属性1和属性2。给定数组trust,该数组由信任对trust[i]=[a,b]组成,表示标记为a的人信任标记为b的人。如果小镇存在秘密法官并且可以确定他的身份,请返回该法官的
wzNote
·
2020-02-12 14:37
LeetCode-python
189.旋转数组
题目链接难度:简单类型:数组给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例1输入:[1,2,3,4,5,6,7]和k=3输出:[5,6,7,1,2,3,4]解释:向右旋转1步:[7,1,2,3,4,5,6]向右旋转2步:[6,7,1,2,3,4,5]向右旋转3步:[5,6,7,1,2,3,4]示例2输入:[-1,-100,3,99]和k=2输出:[3,99,-1,-100]解释
wzNote
·
2020-02-10 00:13
LeetCode-python
403.青蛙过河
题目链接难度:困难类型:数组、动态规划一只青蛙想要过河。假定河流被等分为x个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有)。青蛙可以跳上石头,但是不可以跳入水中。给定石子的位置列表(用单元格序号升序表示),请判定青蛙能否成功过河(即能否在最后一步跳至最后一个石子上)。开始时,青蛙默认已站在第一个石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格1跳至单元格2)。如果青蛙上一
wzNote
·
2020-02-05 02:37
LeetCode-python
151.翻转字符串里的单词
题目链接难度:中等类型:字符串给定一个字符串,逐个翻转字符串中的每个单词。示例1输入:"theskyisblue"输出:"blueisskythe"示例2输入:"helloworld!"输出:"world!hello"解释:输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例3输入:"agoodexample"输出:"examplegooda"解释:如果两个单词间有多余的空格
wzNote
·
2020-01-03 19:57
LeetCode-python
84.柱状图中最大的矩形
题目链接难度:困难类型:数组给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。求在该柱状图中,能够勾勒出来的矩形的最大面积。示例输入:[2,1,5,6,2,3]输出:10解题思路用一个栈stack存储索引。新的i在入栈前,先查看新的height[i]是否小于height[stack[-1]]:若小于,i入栈若不小于,弹出栈顶元素index,令height[index]
wzNote
·
2019-12-20 22:57
LeetCode-python
10.正则表达式匹配
题目链接难度:困难类型:动态规划给你一个字符串s和一个字符规律p,请你来实现一个支持'.'和'*'的正则表达式匹配。'.'匹配任意单个字符'*'匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。示例1输入:s="aa"p="a"输出:false解释:"a"无法匹配"aa"整个字符串。示例2输入:s="aa"p="a*"输出:true解释:因为'*'代表可以匹配零个或
wzNote
·
2019-11-21 10:10
LeetCode-python
17.电话号码的字母组合
题目链接难度:中等类型:递归给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。示例输入:"23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"].解题思路当没有数字的时候返回空当只有一个数字的时候,返回该数字对应的字母当有两个数字的时候,返回第一个数字对应的字母分别加上第
wzNote
·
2019-11-21 10:48
LeetCode-python
1.两数之和
题目链接难度:简单类型:哈希表给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]解题思路用字典保存遍历过的数字和下标寻找target-n
wzNote
·
2019-11-09 11:37
LeetCode-python
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:1到n的和是,数组长度为n时,是0到n+1的数列中缺失了一个数,用该有的和-当前数组元素的和=缺失的数字方法2:数组中所有的数字与1到n+1进行异或操作,出现两次的数都
wzNote
·
2019-11-06 07:12
LeetCode-python
4.寻找两个有序数组的中位数
题目链接难度:困难类型:数组给定两个大小为m和n的有序数组nums1和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m+n))。你可以假设nums1和nums2不会同时为空。示例1nums1=[1,3]nums2=[2]则中位数是2.0示例2nums1=[1,2]nums2=[3,4]则中位数是(2+3)/2=2.5解题思路将问题广义化为寻找两个数组中第K小的数
wzNote
·
2019-11-01 11:54
LeetCode-python
401.二进制手表
题目链接难度:简单类型:数学二进制手表顶部有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","0:04","0:08","0
wzNote
·
2019-10-16 19:53
LeetCode-python
387.字符串中的第一个唯一字符
题目链接难度:简单类型:字符串给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回-1。示例s="leetcode"返回0.s="loveleetcode",返回2.解题思路遍历字符串,用一个集合re保存遍历过的字符,Set的查询操作比List快如果一个字符既不在re中,也不在后半部分字符串中,那它就是唯一字符,在第一个唯一字符处返回即可代码实现classSolution
wzNote
·
2019-10-15 11:56
LeetCode-python
383.赎金信
题目链接难度:简单类型:集合给定一个赎金信(ransom)字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回true;否则返回false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)注意:你可以假设两个字符串均只含有小写字母。示例canConstruct("a",
wzNote
·
2019-10-12 20:50
LeetCode-python
367.有效的完全平方数
题目链接难度:简单类型:数学给定一个正整数num,编写一个函数,如果num是一个完全平方数,则返回True,否则返回False。说明:不要使用任何内置的库函数,如sqrt。示例1输入:16输出:True示例2输入:14输出:False解题思路暴力解法从开始,判断是不是等于num,若不是,加1,直到不小于num,判断是否等于二分查找不用一个一个递增,用二分法找等差数列任意一个完全平方数都可以表示成一
wzNote
·
2019-10-09 15:18
LeetCode-python
345.反转字符串中的元音字母
题目链接难度:简单类型:字符串编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例1输入:"hello"输出:"holle"示例2输入:"leetcode"输出:"leotcede"解题思路双指针一个指针p1从前往后走,另一个指针p2从后往前走当两个指针都指向元音字母时,交换两元素位置当p1未指向元音字母时,p1++当p2未指向元音字母时,p2--由于字符串是不可变类型,可以将字符串变成
wzNote
·
2019-10-07 15:55
LeetCode-python
322.零钱兑换
题目链接难度:中等类型:动态规划给定不同面额的硬币coins和一个总金额amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1输入:coins=[1,2,5],amount=11输出:3解释:11=5+5+1示例2输入:coins=[2],amount=3输出:-1解题思路dp[i]表示凑成总金额i需要的最少硬币个数如例1中coi
wzNote
·
2019-10-05 14:11
LeetCode-python
316.去除重复字母
题目链接难度:困难类型:贪心、栈给定一个仅包含小写字母的字符串,去除字符串中重复的字母,使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例1输入:"bcabc"输出:"abc"示例2输入:"cbacdcbc"输出:"acdb"解题思路遍历数组,一个一个考虑是否需要,若需要,就存入stack遍历之前用collections.Counter统计每个字母的个数当遍
wzNote
·
2019-10-04 20:07
LeetCode-python
303.区域和检索-数组不可变
题目链接难度:简单类型:数组给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。示例给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()sumRange(0,2)->1sumRange(2,5)->-1sumRange(0,5)->-3解题思路用另一个数组stack的第i位存储num的前i项和第k到第j位的和为stack[j]-sta
wzNote
·
2019-10-03 10:36
LeetCode-python
290.单词规律
题目链接难度:简单类型:字符串给定一种规律pattern和一个字符串str,判断str是否遵循相同的规律。这里的遵循指完全匹配,例如,pattern里的每个字母和字符串str中的每个非空单词之间存在着双向连接的对应规律。示例1输入:pattern="abba",str="dogcatcatdog"输出:true示例2输入:pattern="abba",str="dogcatcatfish"输出:f
wzNote
·
2019-10-02 20:42
LeetCode-python
283.移动零
题目链接难度:简单类型:数组给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例输入:[0,1,0,3,12]输出:[1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。解题思路本题难点在于保持非零元素的相对顺序快慢指针初始化时,快指针指向第1个位置,慢指针指向第0个位置当慢指针指向的值不为0,快慢指针同时向前移动1当慢指针
wzNote
·
2019-09-30 18:04
LeetCode-python
753.破解保险箱
题目链接难度:困难类型:深度优先搜索有一个需要密码才能打开的保险箱。密码是n位数,密码的每一位是k位序列0,1,...,k-1中的一个。你可以随意输入密码,保险箱会自动记住最后n位输入,如果匹配,则能够打开保险箱。举个例子,假设密码是"345",你可以输入"012345"来打开它,只是你输入了6个字符.请返回一个能打开保险箱的最短字符串。示例1输入:n=1,k=2输出:"01"说明:"10"也可以
wzNote
·
2019-09-25 11:14
LeetCode-python
172.阶乘后的零
题目链接难度:简单类型:数学给定一个整数n,返回n!结果尾数中零的数量。示例1输入:3输出:0解释:3!=6,尾数中没有零。示例1输入:5输出:1解释:5!=120,尾数中有1个零.解题思路只有5*2可以得到0只要有偶数就能分解出2,2的个数一定比5多,所以只用计算5的个数对于20来说,只有5,10,15,20包含5,故20!结尾有20/5=4个零当然不止这么简单,对于25来说:只有5,10,15
wzNote
·
2019-09-23 14:16
LeetCode-python
148.排序链表
题目链接难度:中等类型:在O(nlogn)时间复杂度和常数级空间复杂度下,对链表进行排序。示例1输入:4->2->1->3输出:1->2->3->4示例2输入:-1->5->3->4->0输出:-1->0->3->4->5解题思路归并排序用快慢指针把链表分成两部分,对每一部分重复这一操作,直到某一部分只存在一个节点,返回这个节点,对于一个节点来说,它一定是有序的对两个有序链表进行融合,合成一个链表
wzNote
·
2019-09-22 13:31
LeetCode-python
145.二叉树的后序遍历
题目链接难度:困难类型:二叉树给定一个二叉树,返回它的后序遍历。示例输入:[1,null,2,3]1\2/3输出:[3,2,1]解题思路递归好实现一点,不递归确实很麻烦,毕竟是一道困难等级的题目对于非递归的方法,有一种思路,用先序遍历(中->左->右)的方式,以中->右->左的顺序遍历二叉树,最后再翻转结果就可以得到后续遍历代码实现#Definitionforabinarytreenode.#cl
wzNote
·
2019-09-21 15:11
LeetCode-python
140.单词拆分 II
题目链接难度:困难类型:给定一个非空字符串s和一个包含非空单词列表的字典wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例1输入:s="catsanddog"wordDict=["cat","cats","and","sand","dog"]输出:["catsandd
wzNote
·
2019-09-19 09:46
LeetCode-python
125.验证回文串
题目链接难度:简单类型:字符串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例1输入:"Aman,aplan,acanal:Panama"输出:true示例2输入:"raceacar"输出:false解题思路去掉非数字和字母的字符字母转小写判断是否正序等于倒序代码实现classSolution:defisPalin
wzNote
·
2019-09-18 10:11
LeetCode-python
113.路径总和 II
题目链接难度:中等类型:二叉树、深度优先搜索给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明:叶子节点是指没有子节点的节点。示例给定如下二叉树,以及目标和sum=225/\48//\11134/\/\7251返回:[[5,4,11,2],[5,8,4,5]]解题思路和112题一样,在搜索的时候保存下路径即可代码实现#Definitionforabinaryt
wzNote
·
2019-09-17 09:04
LeetCode-python
118.杨辉三角
题目链接难度:简单类型:数组给定一个非负整数numRows,生成杨辉三角的前numRows行。示例输入:5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]解题思路杨辉三角的规律是某元素的值等于其肩上量元素值的和有个巧妙的解法:第三行为:1,3,3,1第四行为:1,4,6,4,1恰好有:01331+13310=14641即分别首位添0,末位添0后对应位相加代码
wzNote
·
2019-09-16 13:22
LeetCode-python
128.最长连续序列
题目链接难度:困难类型:哈希给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为O(n)。示例输入:[100,4,200,1,3,2]输出:4解释:最长连续序列是[1,2,3,4]。它的长度为4。解题思路先把list用set转换一下,相当于哈希了一下,这样查起来很快遍历集合中的元素,若该元素为x,且x-1不在集合中,说明它是某一个连续序列的起点,找x+1是否在集合中,如果在,把
wzNote
·
2019-09-15 12:29
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他