![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
文章平均质量分 73
irrationality
终身学习者
展开
-
leetcode基础编程:双指针
151. 反转链表难度:简单收藏给你单链表的头节点 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**进阶:**链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?原创 2022-03-09 22:15:19 · 301 阅读 · 0 评论 -
leetcode基础编程:位运算
114. 只出现一次的数字难度:简单收藏给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4class Solution {public: int singleNumber(vector<int>& nums) { int a原创 2022-03-09 20:41:04 · 415 阅读 · 0 评论 -
leetcode基础编程:字符串
107. 验证回文串难度:简单收藏给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。**说明:**本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true解释:"amanaplanacanalpanama" 是回文串示例 2:输入: "race a car"输出: false解释:"raceacar" 不是回文串提示:1 <= s.length <=原创 2022-03-09 18:39:39 · 342 阅读 · 0 评论 -
leetcode基础编程:栈
19. 有效的括号难度:简单收藏给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]}"输出:tr原创 2022-03-08 21:35:25 · 314 阅读 · 0 评论 -
leetcode基础编程:哈希表
\160. 存在重复元素难度:简单收藏给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。示例 1:输入:nums = [1,2,3,1]输出:true示例 2:输入:nums = [1,2,3,4]输出:false示例 3:输入:nums = [1,1,1,3,3,4,3,2,4,2]输出:true提示:1 <= nums.length <= 105-109 <= num原创 2022-03-08 09:36:47 · 451 阅读 · 0 评论 -
leetcode基础编程:分治
92. 将有序数组转换为二叉搜索树难度:简单收藏给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。示例 1:输入:nums = [-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:示例 2:输入:nums = [1,3]输出:[3,1]解释:[1原创 2022-03-07 13:33:27 · 301 阅读 · 0 评论 -
leetcode基础编程:排序
73. 合并两个有序数组难度:简单收藏给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。**注意:**最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。原创 2022-03-03 23:04:36 · 410 阅读 · 0 评论 -
leetcode基础编程:搜索
二分查找难度:简单收藏给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示.原创 2022-03-01 22:51:09 · 380 阅读 · 0 评论 -
leetcode基础编程:树
88. 二叉树的最大深度难度:简单给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ \9 20 / \15 7返回它的最大深度 3 。方法一# Definition for a binary tree node.# class TreeNode:# def __init__(se原创 2022-02-23 21:58:02 · 336 阅读 · 0 评论 -
leetcode基础编程:链表
148. 移除链表元素难度:简单收藏给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1输出:[]示例 3:输入:head = [7,7,7,7], val = 7输出:[]提示:列表中的节点数目在范围 [0, 104] 内1 <原创 2022-02-23 18:14:43 · 322 阅读 · 0 评论 -
leetcode基础编程:数组
1. 两数之和难度:简单收藏给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3原创 2022-02-15 13:39:17 · 374 阅读 · 0 评论