
leetcode
Yoooung~
这个作者很懒,什么都没留下…
展开
-
[LeetCode链表] 141.环形链表 (easy)
哈希表最容易想到的方法是遍历所有节点,每次遍历到一个节点时,判断该节点此前是否被访问过。具体地,我们可以使用哈希表来存储所有已经访问过的节点。每次我们到达一个节点,如果该节点已经存在于哈希表中,则说明该链表是环形链表,否则就将该节点加入哈希表中。重复这一过程,直到我们遍历完整个链表即可。class Solution {public: bool hasCycle(ListNode *head) { unordered_set<ListNode*> seen;..原创 2021-02-28 15:52:44 · 110 阅读 · 0 评论 -
[LeetCode链表] 83.删除排序链表中的重复元素 (easy)
递归法链表具有天然的递归性,凡是链表的问题我们都可以考虑一下递归,可以把一个链表看成头节点后挂接一个更短的链表,这个更短的链表看成其的头节点后面挂接一个更更短的链表,依次类推。所以可以先处理头节点后面挂接的更短的链表,处理完之后,判断头节点的值是否等于其挂接的更短的链表的头节点的值,如果相等则直接返回更短的链表的头节点,否则返回原链表的头节点。class Solution: def deleteDuplicates(self, head: ListNode) -> ListNode:..原创 2021-02-27 21:47:28 · 89 阅读 · 0 评论 -
[LeetCode链表] 21.合并两个有序链表(easy)
先来感受一下递归的优美:# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode: .原创 2021-02-26 18:40:45 · 107 阅读 · 0 评论 -
[LeetCode数组] 11.盛最多水的容器(medium)
作为一个懒得思考的小白,上手这个题目当然就是最简单的遍历:class Solution: def maxArea(self, height: List[int]) -> int: acreage = 0 for i in range(len(height)-1): for j in range(i+1, len(height)): temp = height[i] * (j - i) if height.原创 2021-02-26 17:26:02 · 117 阅读 · 0 评论