LeetCode
zone7_
这个作者很懒,什么都没留下…
展开
-
LeetCode-21. 合并两个有序链表 -- Python解
原题描述将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]提示:两个链表的节点数目范围是 [0, 50]-100 <= Node.val <= 100l1 和 l2 均按 非递减顺序 排列来源:力原创 2022-04-27 17:05:55 · 1462 阅读 · 0 评论 -
LeetCode-25. K 个一组翻转链表 -- Python解
原题描述给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。示例 1:输入:head = [1,2,3,4,5], k = 2输出:[2,1,4,3,5]示例 2:输入:head = [1,2,3,4,5], k = 3输出:[3,2,1,4,5]提示:链表中的节点数目为 n1原创 2022-04-27 14:45:10 · 319 阅读 · 0 评论 -
LeetCode-15. 三数之和 -- Python解
原题描述给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]提示:0 <= nums.length <= 3000-原创 2022-04-27 14:39:50 · 152 阅读 · 0 评论 -
LeetCode-3. 无重复字符的最长子串 -- Python解
原题描述给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,原创 2022-04-27 14:36:31 · 279 阅读 · 0 评论 -
LeetCode-146. LRU 缓存 -- Python解
题目描述请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。实现 LRUCache 类:LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字 key 已经存在,则变更其数据值 value ;如果不存在,则向缓存中插入该组 key-value 。如果插入操原创 2022-04-27 14:33:18 · 464 阅读 · 0 评论 -
LeetCode-206. 反转链表 -- Python解
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]提示:链表中节点的数目范围是 [0, 5000]-5000 <= Node.val <= 5000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-li原创 2022-04-27 14:28:55 · 1355 阅读 · 0 评论 -
LeetCode-200. 岛屿数量 -- Python解
给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"]]输出:1示例 2:输入:grid = [ ["1"原创 2022-04-27 13:10:06 · 635 阅读 · 0 评论 -
LeetCode-46. 全排列 -- Python解
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]提示:1 <= nums.length <= 6-10 <= nums[i] <= 10原创 2022-04-27 13:05:16 · 599 阅读 · 0 评论 -
数组的下标为什么是从 0 开始算的?
首先,我们先来看看数组的定义:数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。然后,我们再来看看数组的下标是什么意思:下标是现对于第一个数组元素的偏移量 – offset,例如:数组 a[0] 则代表偏移 0 个位置,数组 a[1] 则代表偏移 1 个位置。用图片表示如上图。数组都有分配内存的首地址,我们把首地址定义为:base_address那么如上图中 base_address 为 1000,即是 a[0] = 1000我们可以很容易地从图中得出数组的寻址原创 2022-03-31 21:43:18 · 1839 阅读 · 0 评论 -
LeetCode 深度优先遍历
本文首发于公众号「zone7」,关注获取最新推文!概述前言104 二叉树的最大深度【简单】111 二叉树的最小深度 【简单】124 二叉树中的最大路径和 【困难】后记前言我前面的文章《python 实现二叉树的深度&amp;&amp;广度优先遍历》介绍了二叉树的相关知识。《LeetCode 102 &amp;&amp; 429 广度优先遍历)》这篇做了一些关于广度优先遍历...原创 2018-11-07 16:35:28 · 902 阅读 · 0 评论 -
LeetCode 102 && 429 广度优先遍历
本文首发于公众号「zone7」,关注获取最新推文!概述前言429 N 叉树的层次遍历 90.36%102 二叉树的层次遍历 99.76%后记前言不管经济多不好,提高自身硬实力才是关键。最近我也开始刷题了,所以后面的文章会时不时出现 LeetCode 的题。希望我们一起提高,一起进步。429 N 叉树的层次遍历 90.36%给定一个 N 叉树,返回其节点值的层序遍历。 (即从...原创 2018-11-07 16:33:53 · 521 阅读 · 0 评论 -
python 实现二叉树的深度&&广度优先遍历
本文首发于公众号「zone7」,关注获取最新推文!概述前言什么是树什么是二叉树深度优先广度优先后记前言前面说到算法被虐了,这回我要好好把它啃下来。哪里跌倒就要从哪里站起来。这是我复习算法与数据结构时的小笔记,这里就 po 出来,给大家也复习一下旧的知识点,查缺补漏。如果我的文章对你有帮助,欢迎关注、点赞、转发,这样我会更有动力做原创分享。什么是树在计算器科学中,树(英...原创 2018-11-07 16:32:07 · 620 阅读 · 1 评论