
leetcode
刷刷LeetCode
千楼
这个作者很懒,什么都没留下…
展开
-
leetcode-51-N皇后
原题: N皇后n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]解释:如上图所示,4 皇后问题存在两个不同的解法。示例原创 2021-11-14 18:48:32 · 309 阅读 · 0 评论 -
leetcode-0022-括号生成
原题:括号生成数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。有效括号组合需满足:左括号必须以正确的顺序闭合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8思路:左括号随时可以加, 只要不超过n右括号 左括号个数大于右括号左右括号都用完,将结果加入返回集合pub原创 2021-11-06 03:20:28 · 95 阅读 · 0 评论 -
leetcode-0020-有效的括号
原题:丢失的数字给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例 2:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中。原创 2021-11-06 03:18:41 · 128 阅读 · 0 评论 -
leetcode-0020-有效的括号
原题:有效的括号难度简单2720给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]}"输出:tru原创 2021-10-25 21:33:40 · 218 阅读 · 0 评论 -
leetcode-0015-三数之和
原题:https://leetcode-cn.com/problems/3sum/给你一个包含 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]原创 2021-10-22 23:07:12 · 394 阅读 · 0 评论 -
leetcode-0206-反转链表
原题:https://leetcode-cn.com/problems/reverse-linked-list/给你单链表的头节点 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*原创 2021-10-22 00:58:42 · 212 阅读 · 0 评论 -
leetcode-0011-盛最多水的容器
原题:https://leetcode-cn.com/problems/container-with-most-water/给你 n 个非负整数 a1,a2,...,a``n,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。**说明:**你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输原创 2021-10-21 21:28:13 · 134 阅读 · 0 评论 -
leetcode-0283-移动零
原题:https://leetcode-cn.com/problems/move-zeroes/给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路:使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移原创 2021-10-12 06:13:59 · 111 阅读 · 0 评论 -
leetcode-0125-验证回文串
原题:https://leetcode-cn.com/problems/valid-palindrome/给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。**说明:**本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true解释:"amanaplanacanalpanama" 是回文串示例 2:输入: "race a car"输出: false解释:"raceacar"原创 2021-10-11 06:33:30 · 130 阅读 · 0 评论 -
leetcode-0977-有序数组的平方
原题:https://leetcode-cn.com/problems/squares-of-a-sorted-array/给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:原创 2021-10-04 22:05:39 · 155 阅读 · 0 评论 -
leetcode-0189-旋转数组
原因:https://leetcode-cn.com/problems/rotate-array/给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入:nums = [-1,-100,3,原创 2021-10-04 21:49:46 · 108 阅读 · 0 评论 -
leetcode-0217-存在重复元素
原题:https://leetcode-cn.com/problems/contains-duplicate/给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true思路:使用哈希表,看看添加的时候是否已经添原创 2021-10-03 18:46:22 · 113 阅读 · 0 评论 -
leetcode-0070-爬楼梯
原题:https://leetcode-cn.com/problems/climbing-stairs/假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶原创 2021-10-03 00:31:00 · 174 阅读 · 0 评论 -
leetcode-0013-罗马数字转整数
原题:https://leetcode-cn.com/problems/roman-to-integer/罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12原创 2021-10-02 23:36:42 · 96 阅读 · 0 评论 -
leetcode-0007-整数反转
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。原题:https://leetcode-cn.com/problems/reverse-integer/示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x =原创 2021-09-22 15:50:40 · 74 阅读 · 0 评论 -
leetcode-0002-两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。原题:https://leetcode-cn.com/problems/add-two-numbers/示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0原创 2021-09-22 11:42:04 · 88 阅读 · 0 评论 -
leetcode-0001-两数之和
原题:https://leetcode-cn.com/problems/two-sum给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0原创 2021-09-21 21:44:42 · 123 阅读 · 0 评论