力扣练习
mc10141222
心外无物
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
力扣练习题 160相交链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ /* 方法 1:穷举 2:hash表记录第一个遍历的链表 3:双指针,分别从两边的头开始,当一边到null后就换成从另一边的头开始,以此类推,当两者相等时就跳出来返回 4:双指针,.原创 2022-04-14 21:38:52 · 621 阅读 · 0 评论 -
力扣练习题 <三角形中最小路径之和>
题目描述: 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。 示例 1: 输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]] 输出:11 解释:如下面简图所示: 2 3 4 6 5 7 4 1 8 3 ...原创 2022-03-27 23:36:08 · 155 阅读 · 0 评论 -
力扣经典题 <链表反转> 解决报错heap-use-after-free
给定单链表的头节点 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/UHnk.原创 2022-03-27 21:39:38 · 1441 阅读 · 0 评论 -
力扣经典题目 <用两个栈实现一个队列>
题目描述: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false 说明:你只能使用标准的栈操作 —— 也就是只有push to top,peek/pop from top,...原创 2022-03-27 15:17:28 · 173 阅读 · 0 评论 -
力扣练习题 <合并两个有序链表>
力扣第21号题,题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 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 <= 100 l1 和 l2 均按 非递减..原创 2022-03-26 23:52:24 · 151 阅读 · 0 评论 -
力扣练习题<移动零> 双指针
题目: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums = [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nums = [0] 输出: [0] 提示: 1 <= nums.length <= 104 -231<= nums[i] <= 231- 1 进阶:你能尽量减少完成的操作次数吗? 来源:力扣(..原创 2022-03-25 23:54:30 · 152 阅读 · 0 评论 -
力扣练习题 <找到所有数组中消失的数字>
给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。 示例 1: 输入:nums = [4,3,2,7,8,2,3,1] 输出:[5,6] 示例 2: 输入:nums = [1,1] 输出:[2] 提示: n == nums.length 1 <= n <= 105 1 <= nums[i] <= n 进阶:你能在不使用额外空间且时间复.原创 2022-03-25 21:42:43 · 224 阅读 · 0 评论 -
力扣练习题 <两数之和>
序号排在力扣题库第一的经典练习题,我的思路是建一个表,然后每次计算该数与目标值差值,然后在表里查看有没有这个值,如果没有的话就把该数插进去,然后继续遍历下一个数 代码如下 class Solution { public: /*创一个表来记录 从第一个数开始,计算其离目标值的差值,然后 在表中查有没有这个值,如果没有则将这个数插进表中,值是其下标, key值是本身*/ map<int,int> M1; vector<int> result; vec原创 2022-03-25 17:22:41 · 474 阅读 · 0 评论 -
力扣题 <爬楼梯> 递归结合表
题目描述: 假设你正在爬楼梯。需要 n阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入:n = 3 输出:3 解释:有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2 阶 3. 2 阶 + 1 阶 提示:1 <= n <= 45来源:力扣(LeetCode) 链接:https://.原创 2022-03-25 15:22:28 · 1563 阅读 · 0 评论
分享