leetcode
Riccca
这个作者很懒,什么都没留下…
展开
-
leetcode 344\557
文章目录344 反转字符串557 反转字符串中的单词Ⅲ344 反转字符串class Solution: def reverseString(self, s: List[str]) -> None: """ Do not return anything, modify s in-place instead. """# method left = 0 right = len(s) - 1 whil原创 2021-01-29 10:31:22 · 91 阅读 · 0 评论 -
leetcode 237\238\292
目录237 删除链表中的节点238 除自身以外数组的乘积292 Nim 游戏237 删除链表中的节点# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def deleteNode(self, node): """ :原创 2021-01-28 00:14:34 · 117 阅读 · 0 评论 -
leetcode 231\235\236
目录231 2的幂235 二叉搜索树的最近公共祖先236 二叉树的最近公共祖先231 2的幂# method 1 class Solution: def isPowerOfTwo(self, n: int) -> bool: if n == 0: return False while n%2 == 0: n /= 2 return n==1# method 2 位运算# 若原创 2021-01-27 11:30:21 · 95 阅读 · 0 评论 -
leetcode 215\217\230
目录215 数组中的第k个最大元素217 存在重复元素230 二叉搜索树中第k小的元素215 数组中的第k个最大元素# 快排思想class Solution: def findKthLargest(self, nums, k) -> int: k = len(nums) - k low = 0 high = len(nums) - 1 while low <= high: p = self.p原创 2021-01-26 12:05:55 · 88 阅读 · 0 评论 -
leetcode 160\169\206
目录160 相交链表169 多数元素206 反转链表160 相交链表双指针法class Solution: def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> ListNode: pA = headA pB = headB while headA != headB: if headA: headA = h原创 2021-01-24 11:44:33 · 120 阅读 · 0 评论 -
leetcode 146\148\155
目录146 LRU缓存机制148 排序链表155 最小栈146 LRU缓存机制# 双向链表,每个节点要存储key和valueclass ListNode: def __init__(self, key = None, value=None): self.key = key self.value = value self.next = None self.prev = Noneclass LRUCache: d原创 2021-01-24 00:22:46 · 104 阅读 · 0 评论 -
leetcode 136\141\142
目录136 只出现一次的数字141 环形链表142 环形链表Ⅱ (返回环形入口节点)136 只出现一次的数字注意异或操作满足交换率x^0 = xx^x = 0# reduce# 用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。# ^异或操作# x ^ 0 = x# x ^ x = 0# 所以当重复的元素进行异或操作以后,都变为0,只剩下一个不重复的元素。cl原创 2021-01-22 11:18:12 · 180 阅读 · 0 评论 -
leetcode 121\122\124
目录121 买卖股票的最佳时机122 买卖股票的最佳时机(可以交易多次)124 二叉树中的最大路径和121 买卖股票的最佳时机class Solution: def maxProfit(self, prices: List[int]) -> int: if not prices: return 0 n = len(prices) # dp[i][0] : 表示第i天的状态是没有股票, 获得的收益 # dp[i][1] : 表示原创 2021-01-21 12:21:34 · 86 阅读 · 0 评论 -
leetcode 88\89\104
目录88 合并两个有序数组89 格雷编码104 二叉树的最大深度88 合并两个有序数组class Solution: def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None: """ Do not return anything, modify nums1 in-place instead. """ if m == 0:原创 2021-01-20 11:41:34 · 140 阅读 · 0 评论 -
leetcode 62\70\78
目录62 不同路径70 爬楼梯78 子集62 不同路径class Solution: def uniquePaths(self, m: int, n: int) -> int: dp = [[0]*n for i in range(m)] # print(dp) for j in range(n): dp[0][j] = 1 for i in range(1,m):原创 2021-01-19 10:45:33 · 104 阅读 · 0 评论 -
leetcode 54\59\61
目录54 螺旋矩阵59 螺旋矩阵Ⅱ61 旋转链表54 螺旋矩阵class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: m = len(matrix) n = len(matrix[0]) layer_num = (min(m,n) + 1)//2 res = [] for layer in range(layer_原创 2021-01-18 11:13:29 · 107 阅读 · 0 评论 -
leetcode 43\46\53
目录43. 字符串相乘46 全排列53 最大子序和43. 字符串相乘class Solution: def multiply(self, num1: str, num2: str) -> str: if num1 == '0' or num2 == '0': return '0' l1, l2 = len(num1), len(num2) if l1 < l2: num1,num2 = n原创 2021-01-17 23:48:57 · 81 阅读 · 0 评论 -
leetcode 23\26\33
目录23. 合并K个升序链表33 搜索旋转排序数组26 删除排序数组中的重复项23. 合并K个升序链表# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def mergeKLists(self, lists: Lis原创 2021-01-16 22:52:00 · 99 阅读 · 0 评论 -
leetcode 16\20\21
目录16 最接近的三数之和20 有效的括号21 合并两个有序链表16 最接近的三数之和class Solution: def threeSumClosest(self, nums: List[int], target: int) -> int: n = len(nums) if n < 3: return 0 nums = sorted(nums) res = 0 diff = f原创 2021-01-14 11:27:55 · 79 阅读 · 0 评论 -
leetcode 11\14\15
leetcode 11\14\15目录leetcode 11\14\1511 盛最多水的容器14 最长公共前缀15 三数之和11 盛最多水的容器双指针,求面积,只关注两板之中短板的长度和两板之间的距离1、向内移动短板, 短板可能变长,变短,或者不变,导致面积有可能增大2、向内移动长板, 短板可能不变,或者变小,导致面积只可能减小class Solution: def maxArea(self, height: List[int]) -> int: n = len(原创 2021-01-13 11:47:13 · 88 阅读 · 0 评论 -
leetcode 7\8\9
leetcode 7\8\9提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档目录leetcode 7\8\97 整数反转8 字符串转换整数 (atoi)9 回文数7 整数反转class Solution: def reverse(self, x: int) -> int: MAX = 214748364 #2147483647 MIN = -214748364 #-2147483648 ans = 0原创 2021-01-12 09:54:15 · 97 阅读 · 0 评论 -
leecode 2\4\5
目录leecode 2\3\52 两数相加4 寻找两个正序数组中位数5 最长回文字串leecode 2\3\52 两数相加# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def addTwoNumbers(sel原创 2021-01-11 11:46:05 · 127 阅读 · 1 评论