
力扣练习
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 · 590 阅读 · 0 评论 -
力扣练习题 <三角形中最小路径之和>
题目描述:给定一个三角形 triangle ,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。示例 1:输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]]输出:11解释:如下面简图所示: 2 3 46 5 74 1 8 3...原创 2022-03-27 23:36:08 · 127 阅读 · 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 · 1371 阅读 · 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 · 142 阅读 · 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 <= 100l1 和 l2 均按 非递减..原创 2022-03-26 23:52:24 · 123 阅读 · 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 · 124 阅读 · 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.length1 <= n <= 1051 <= nums[i] <= n进阶:你能在不使用额外空间且时间复.原创 2022-03-25 21:42:43 · 174 阅读 · 0 评论 -
力扣练习题 <两数之和>
序号排在力扣题库第一的经典练习题,我的思路是建一个表,然后每次计算该数与目标值差值,然后在表里查看有没有这个值,如果没有的话就把该数插进去,然后继续遍历下一个数代码如下class Solution {public: /*创一个表来记录 从第一个数开始,计算其离目标值的差值,然后在表中查有没有这个值,如果没有则将这个数插进表中,值是其下标,key值是本身*/ map<int,int> M1; vector<int> result; vec原创 2022-03-25 17:22:41 · 444 阅读 · 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 · 1535 阅读 · 0 评论