
LEETCODE
力扣算法题
宋建国
接下来要更新的内容有:Flask全栈知识
展开
-
树-429. N叉树的层序遍历-PYTHON/JAVA
使用队列进行广度优先遍历/*// Definition for a Node.class Node { public int val; public List<Node> children; public Node() {} public Node(int _val) { val = _val; } public Node(int _val, List<Node> _children) { .原创 2020-05-09 17:15:43 · 251 阅读 · 0 评论 -
树-337. 打家劫舍 III-PYTHON/JAVA
解法一–最优子结构(递归)# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution...原创 2020-05-05 16:44:50 · 218 阅读 · 0 评论 -
994. 腐烂的橘子-PYTHON
头大,明天更新题解class Solution(object): def orangesRotting(self, grid): """ :type grid: List[List[int]] :rtype: int """ R, C = len(grid), len(grid[0]) ...原创 2020-03-04 11:33:55 · 278 阅读 · 0 评论 -
树-297. 二叉树的序列化与反序列化-PYTHON
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Codec: def serial...原创 2020-03-04 11:04:21 · 220 阅读 · 0 评论 -
树-230. 二叉搜索树中第K小的元素-PYTHON
总的来说因为是线索二叉树,所以天生就有顺序,还是比较好操作的,采用中序遍历后就是一个有大小的序列了,然后再抽取其中的对应位置的数即可递归class Solution: def kthSmallest(self, root, k): """ :type root: TreeNode :type k: int :rty...原创 2020-03-04 09:39:25 · 442 阅读 · 0 评论 -
树-222. 完全二叉树的节点个数- PYTHON
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): ...原创 2020-03-04 09:01:24 · 395 阅读 · 0 评论 -
random-470. 用 Rand7() 实现 Rand10()-PYTHON
采用一个大佬的解法,也称等概率映射# The rand7() API is already defined for you.# def rand7():# @return a random integer in the range 1 to 7class Solution(object): def rand10(self): """ :rtyp...原创 2020-03-03 20:31:37 · 523 阅读 · 0 评论 -
排序-206. 反转链表-PYTHON
递归:一个建新链表的过程# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def reverseLis...原创 2020-03-02 16:22:40 · 111 阅读 · 0 评论 -
树-145. 二叉树的后序遍历-PYTHON
递归+迭代:迭代方法,采用了逆向思维,按照中右左的思想从上到下进行结果获取,最终逆置,就形成了后序遍历的结果,真实开挂啊!# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = ...原创 2020-03-02 15:13:11 · 219 阅读 · 0 评论 -
树-144. 二叉树的前序遍历-PYTHON
递归+迭代# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object)...原创 2020-03-02 09:11:41 · 353 阅读 · 0 评论 -
树-129. 求根到叶子节点数字之和-PYTHON
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): ...原创 2020-03-01 21:22:32 · 206 阅读 · 0 评论 -
树-117. 填充每个节点的下一个右侧节点指针 II-PYTHON
class Solution: def processChild(self, childNode, prev, leftmost): if childNode: #没有子节点的情况下停止 if prev: #下层的上一次访问的节点,如果 prev.next = childNode e...原创 2020-02-27 16:55:40 · 162 阅读 · 0 评论 -
树-116. 填充每个节点的下一个右侧节点指针-PYTHON
只能用迭代法,因为下层的建立间接使用上层的关系,必须在上层建立完成后才可以进行下层的建立,有一个层级依赖的关系,所以不能用递归的方法。"""# Definition for a Node.class Node(object): def __init__(self, val=0, left=None, right=None, next=None): self.val ...原创 2020-02-27 16:19:26 · 166 阅读 · 0 评论 -
树-113. 路径总和 II-PYTHON
暴力法,注意列表的传递方式,精髓# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solut...原创 2020-02-27 15:18:52 · 211 阅读 · 0 评论 -
树-112. 路径总和-PYTHON
暴力解法:加的方式# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(obj...原创 2020-02-27 14:32:26 · 161 阅读 · 0 评论 -
树-108. 将有序数组转换为二叉搜索树-PYTHON
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): ...原创 2020-02-27 10:36:04 · 157 阅读 · 0 评论 -
树-104. 二叉树的最大深度-PYTHON
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): ...原创 2020-02-27 09:03:53 · 217 阅读 · 0 评论 -
树-102. 二叉树的层次遍历-PYTHON
迭代法:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object):...原创 2020-02-26 16:22:49 · 231 阅读 · 0 评论 -
树-101. 对称二叉树-PYTHON
此题目分解成进阶版的判断子树相同即可# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Nonefrom coll...原创 2020-02-26 15:53:23 · 138 阅读 · 0 评论 -
树-100. 相同的树-PYTHON
迭代;# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object):...原创 2020-02-26 12:25:28 · 200 阅读 · 0 评论 -
树.-99. 恢复二叉搜索树.-PYTHON
迭代:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object):...原创 2020-02-21 10:31:56 · 246 阅读 · 0 评论 -
树-98. 验证二叉搜索树-PYTHON
递归# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): ...原创 2020-02-19 14:44:05 · 227 阅读 · 0 评论 -
树-94. 二叉树的中序遍历-PYTHON
迭代# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): ...原创 2020-02-19 10:18:44 · 342 阅读 · 0 评论 -
字典树-676. 实现一个魔法字典-PYTHON
字典树-++class MagicDictionary: def __init__(self): """ Initialize your data structure here. """ self.trie = dict() #构建字典树 def buildDict(self, words): ...原创 2020-02-18 21:43:47 · 233 阅读 · 0 评论 -
字典树-648. 单词替换-PYTHON
前缀哈希class Solution(object): def replaceWords(self, dict, sentence): """ :type dict: List[str] :type sentence: str :rtype: str """ rootset = set(di...原创 2020-02-18 16:37:15 · 484 阅读 · 0 评论 -
字典树-472. 连接词-PYTHON
锁定长度,逐一遍历法class Solution(object): def findAllConcatenatedWordsInADict(self, words): """ :type words: List[str] :rtype: List[str] """ words = sorted(words,...原创 2020-02-18 15:50:17 · 510 阅读 · 0 评论 -
字典树-421. 数组中两个数的最大异或值-PYTHON
大佬解法,大佬脑子太牛逼了,我是服了,读者自行解读代码。class Solution(object): def findMaximumXOR(self, nums): """ :type nums: List[int] :rtype: int """ res = 0 mask = 0 ...原创 2020-02-18 13:09:14 · 313 阅读 · 0 评论 -
字典树-336. 回文对-PYTHON
利用逆置原有元素找搭配中间元素如果是回文元素,同时元素左边和右边互为逆置这样的字符串必定为回文,就是利用了这个原理进行class Solution(object): def palindromePairs(self, words): """ :type words: List[str] :rtype: List[List[int]]...原创 2020-02-17 16:50:42 · 217 阅读 · 0 评论 -
字典树-211. 添加与搜索单词 - 数据结构设计-PYTHON
利用字典集合,利用长度来简化比对的次数,效果还可以class WordDictionary(object): def __init__(self): """ Initialize your data structure here. """ self.d = collections.defaultdict(list) ...原创 2020-02-17 13:31:53 · 196 阅读 · 0 评论 -
字典树-208. 实现 Trie (前缀树)-PYTHON
python利用字典结构的简便版本(注意看注释理解)class Trie: def __init__(self): """ Initialize your data structure here. """ self.lookup = {} #构建一个字典结构,用于存储元素数据 def in...原创 2020-02-17 11:29:01 · 398 阅读 · 0 评论 -
二叉搜索树-1038. 从二叉搜索树到更大和树-PYTHON
利用python语言的引用特性。# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solut...原创 2020-02-16 13:52:32 · 162 阅读 · 0 评论 -
二叉搜索树-BiNode-PYTHON
两种方式都使用了个位数的额外存储空间,并且元素存储地址并没有发生变化,所以满足题意非递归方法# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# ...原创 2020-02-16 12:21:06 · 237 阅读 · 0 评论 -
1290. 二进制链表转整数--PYTHON
自己1:没什么好说的,就用最原始的方法就可以,也不难。# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): ...原创 2019-12-27 10:10:36 · 241 阅读 · 0 评论 -
94. 二叉树的中序遍历--PYTHON
自己1:原创 2019-12-26 18:02:52 · 165 阅读 · 0 评论 -
1019. 链表中的下一个更大节点--PYTHON
自己1:暴力破解法# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def nextLargerNode...原创 2019-12-26 15:25:24 · 163 阅读 · 0 评论 -
876. 链表的中间结点--PYTHON
自己1:没啥好说的,代码也很简单# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def middleN...原创 2019-12-26 13:07:57 · 321 阅读 · 0 评论 -
817. 链表组件--PYTHON
自己1:超出了时间限制# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def numComponent...原创 2019-12-26 12:00:50 · 154 阅读 · 0 评论 -
725. 分隔链表--PYTHON
自己1:暴力破解法# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def splitListToPar...原创 2019-12-26 11:22:04 · 247 阅读 · 0 评论 -
707. 设计链表--PYTHON
自己1:class MyNode(object): def __init__(self, value): self.val = value self.next = None self.prev = None class MyLinkedList(object): def __init__(self): ...原创 2019-12-25 18:26:36 · 229 阅读 · 1 评论 -
445. 两数相加 II--PYTHON
自己1:暴力破解法# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def addTwoNumbers(...原创 2019-12-25 15:37:45 · 181 阅读 · 0 评论