LeetCode
fongim
你有没有给我带点鱼来
展开
-
LeetCode 242 有效的字母异位词 Valid Anagram Python
有关哈希表的LeetCode做题笔记,Python实现242. 有效的字母异位词 Valid AnagramLeetCodeCN 第242题链接第一种方法:对两个字符串排序后对比class Solution: def isAnagram(self, s: str, t: str) -> bool: return sorted(s) == sorted(t)...原创 2019-05-08 10:23:49 · 153 阅读 · 0 评论 -
LeetCode 25 k个一组翻转链表 Reverse Nodes in k-Group Python
链表定义# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = None25. k个一组翻转链表 Reverse Nodes in k-GroupLeetCodeCN 第25题链接利用数组来实现k个一组的...原创 2019-05-07 18:26:36 · 214 阅读 · 0 评论 -
LeetCode 有关链表的做题笔记 Python实现
有关链表的LeetCode做题笔记合集,Python实现链表定义# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = None206. 反转链表 Reverse Linked ListLeetCodeC...原创 2019-05-07 18:29:06 · 397 阅读 · 0 评论 -
LeetCode 20 有效的括号 Valid Parentheses Python
有关链表的LeetCode做题笔记合集,Python实现20. 有效的括号 Valid ParenthesesLeetCodeCN 第20题链接使用 Stack 栈 来操作,用了一个技巧是先做一个字典,key为右括号,value为左括号。class Solution: def isValid(self, s: str) -> bool: stack = []...原创 2019-05-07 18:56:53 · 317 阅读 · 0 评论 -
LeetCode 703 数据流中的第K大元素 Kth Largest Element in a Stream Python
有关链表的LeetCode做题笔记合集,Python实现703. 数据流中的第K大元素 Kth Largest Element in a StreamLeetCodeCN 第703题链接方法一:直接降序排序,然后取第k个元素返回,add时每次都再排序一次,这样时间复杂度为O(k*logk)# 1.直接排序class KthLargest: def __init__(self, k...原创 2019-05-07 19:00:39 · 294 阅读 · 0 评论 -
LeetCode 239 滑动窗口最大值 Sliding Window Maximum Python
有关链表的LeetCode做题笔记合集,Python实现239. 滑动窗口最大值 Sliding Window MaximumLeetCodeCN 第239题链接第一种方法:用优先队列:大顶堆第二种方法:因为窗口大小固定,只需要一个双端队列即可class Solution: def maxSlidingWindow(self, nums: List[int], k: int) -...原创 2019-05-07 19:01:55 · 276 阅读 · 0 评论 -
LeetCode 有关栈、堆、队列的做题笔记 Python实现
有关栈、堆、队列的LeetCode做题笔记,Python实现20. 有效的括号 Valid ParenthesesLeetCodeCN 第20题链接使用 Stack 栈 来操作,用了一个技巧是先做一个字典,key为右括号,value为左括号。class Solution: def isValid(self, s: str) -> bool: stack = ...原创 2019-05-07 19:06:15 · 223 阅读 · 0 评论 -
LeetCode 50 Pow(x, n)
有关递归与分治的做题笔记,Python实现50. Pow(x, n)LeetCodeCN 第50题链接第一种方法:递归class Solution: def myPow(self, x: float, n: int) -> float: if n == 0: return 1 if n < 0: ...原创 2019-05-12 09:48:37 · 128 阅读 · 0 评论 -
LeetCode 169 求众数 Majority Element
有关递归与分治的做题笔记,Python实现169. 求众数 Majority ElementLeetCodeCN 第169题链接第一种方法:两重循环暴力求解第二种方法:哈希表记录每个元素出现次数,发现出现超过n/2的就是众数class Solution: def majorityElement(self, nums: List[int]) -> int: l...原创 2019-05-12 09:50:32 · 192 阅读 · 0 评论 -
LeetCode 142 环形链表 II Linked List Cycle II Python
链表定义# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = None142. 环形链表 II Linked List Cycle IILeetCodeCN 第142题链接第一种方法还是上面的用哈希表s...原创 2019-05-07 18:25:42 · 286 阅读 · 0 评论 -
LeetCode 141 环形链表 Linked List Cycle Python
链表定义# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = None141. 环形链表 Linked List CycleLeetCodeCN 第141题链接三种方法1.硬做,可以设置超时或者固定循...原创 2019-05-07 18:23:57 · 146 阅读 · 0 评论 -
LeetCode 24 两两交换链表中的节点 Swap Nodes in Pairs Python
链表定义# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = None24. 两两交换链表中的节点 Swap Nodes in PairsLeetCodeCN 第24题链接记录当前节点的前一个节点,当当...原创 2019-05-07 18:22:32 · 277 阅读 · 0 评论 -
LeetCode 1 两数之和 Two Sum Python
有关哈希表的LeetCode做题笔记,Python实现1. 两数之和 Two SumLeetCodeCN 第1题链接第一种方法:用哈希表,时间复杂度是O(n)class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: dic = {} for i in...原创 2019-05-08 10:26:04 · 212 阅读 · 0 评论 -
LeetCode 15 三数之和 3Sum Python
有关哈希表的LeetCode做题笔记,Python实现15. 三数之和 3SumLeetCodeCN 第15题链接第一种方法:三重遍历,时间复杂度为O(n^3)第二种方法:两重遍历得到前两个数,然后查询第三个数-(a+b)是否存在。用哈希表set()class Solution(object): def threeSum(self, nums): """ ...原创 2019-05-08 10:29:07 · 178 阅读 · 0 评论 -
LeetCode 有关哈希表的做题笔记 Python实现
有关哈希表的LeetCode做题笔记,Python实现242. 有效的字母异位词 Valid AnagramLeetCodeCN 第242题链接第一种方法:对两个字符串排序后对比class Solution: def isAnagram(self, s: str, t: str) -> bool: return sorted(s) == sorted(t)...原创 2019-05-08 10:31:15 · 368 阅读 · 0 评论 -
LeetCode 98 验证二叉搜索树 Validate Binary Search Tree Python
有关二叉树的做题笔记,Python实现二叉树的定义# Definition for a binary tree node.class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None98. 验证二叉搜索树 Validate...原创 2019-05-08 10:36:12 · 318 阅读 · 0 评论 -
LeetCode 236 二叉树的最近公共祖先 Lowest Common Ancestor of a Binary Tree Python
有关二叉树的做题笔记,Python实现236. 二叉树的最近公共祖先 Lowest Common Ancestor of a Binary TreeLeetCodeCN 第236题链接首先如果root为空,返回root,然后如果root就是p或者q,那root就是最近公共祖先。然后分别对左子树和右子树做递归并保存结果,如果两边都能找到,证明本节点就是最近公共祖先,如果一边找得到,一边找不到,...原创 2019-05-08 10:38:40 · 181 阅读 · 0 评论 -
LeetCode 235 二叉搜索树的最近公共祖先 Lowest Common Ancestor of a Binary Search Tree Python
有关二叉树的做题笔记,Python实现235. 二叉搜索树的最近公共祖先 Lowest Common Ancestor of a Binary Search TreeLeetCodeCN 第235题链接第一种方法:用236题.二叉树的最近公共祖先的方法第二种方法:利用二叉搜索树的左子树都小于父亲节点,右子树都大于父亲节点的特性,可以把第一种方法简化一下class Solution: ...原创 2019-05-08 10:42:21 · 127 阅读 · 0 评论 -
LeetCode 有关二叉树的做题笔记 Python实现
有关二叉树的做题笔记,Python实现二叉树的定义# Definition for a binary tree node.class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None98. 验证二叉搜索树 Validate...原创 2019-05-08 10:45:23 · 447 阅读 · 0 评论 -
LeetCode 206 反转链表 Reverse Linked List Python
链表定义# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = None206. 反转链表 Reverse Linked ListLeetCodeCN 第206题链接遍历链表,迭代前节点prev,缓存当前...原创 2019-05-07 18:20:38 · 193 阅读 · 0 评论 -
LeetCode 有关递归与分治的做题笔记 Python实现
有关递归与分治的做题笔记,Python实现50. Pow(x, n)LeetCodeCN 第50题链接第一种方法:递归class Solution: def myPow(self, x: float, n: int) -> float: if n == 0: return 1 if n < 0: ...原创 2019-05-12 09:52:52 · 333 阅读 · 0 评论