![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
小小白ovo
那些不起波澜的日复一日,总有一天会让你看到坚持的意义
展开
-
约瑟夫问题Ⅱ、猫狗收容所、栈的弹出压入序列
约瑟夫问题Ⅱ:题目描述现有n个人围坐一圈,顺时针给大家编号,第一个人编号为1,然后顺时针开始报数。第一轮依次报1,2,1,2…没报1的人出局。接着第二轮再从上一轮最后一个报数的人开始依次报1,2,3,1,2,3…没报1的人都出局。以此类推直到剩下以后一个人。现给定一个int n,要求返回最后一个人的编号。import java.util.*; public class Joseph { public int getResult(int n) { if (n < 1)原创 2020-11-07 08:50:04 · 295 阅读 · 0 评论 -
LeetCode [150]逆波兰表达式、[901]股票价格的跨度、[1356]根据数字二进制下1的数目排序
150.逆波兰表达式求值根据 逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1: 输入: [“2”, “1”, “+”, “3”, “*”] 输出: 9解释: 该算式转化为常见的中缀算术表达式为:((2 +1) * 3) = 9import java.util.Stack;/** * 逆原创 2020-11-06 10:52:23 · 161 阅读 · 0 评论 -
LeetCode.[997]找到小镇的法官、[690]员工的重要性、[1260]二维网格迁移
LeetCode.[997]找到小镇的法官、[690]员工的重要性、[1260]二维网格迁移原创 2020-11-03 09:21:14 · 125 阅读 · 0 评论 -
LeetCode剑指offer | 32.从上到下打印二叉树 III && 36.二叉搜索树与双向链表
LeetCode剑指offer | 32.从上到下打印二叉树 III && 36.二叉搜索树与双向链表原创 2020-10-04 17:33:44 · 130 阅读 · 0 评论 -
LeetCode | 两个队列实现一个栈,两个栈实现一个队列
1.两个栈实现一个队列使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2);queue.peek(); // 返回 1queue.pop(); // 返回 1queue.empty(); // 返回 false说明:你只能使用原创 2020-09-30 08:44:42 · 306 阅读 · 0 评论 -
LeetCode.19. 删除链表的倒数第N个节点
LeetCode.19. 删除链表的倒数第N个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例: 给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?Tips: 链表 快慢指针具体思路:题目既然说了n为有效的,那我们就不用考虑n为负或者n大于list.size()。以前做过找原创 2020-09-28 08:46:47 · 125 阅读 · 0 评论 -
LeetCode.82. 删除排序链表中的重复元素 II
LeetCode.82. 删除排序链表中的重复元素 II给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3解题思路:准备:先创建空结点cur1,使cur1指向传入的head结点,作为哑节点。然后创建cur的指针,指向cur1链表的头部。原创 2020-09-27 09:07:51 · 86 阅读 · 0 评论 -
LeetCode. 86. 分隔链表
LeetCode. 86. 分隔链表给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5Related Topics:链表,双指针思路分析:要分隔链表,很明显需要两个新的链表来存储分割开的数据,所以new两个节点来生成链表。此原创 2020-09-26 09:37:54 · 127 阅读 · 0 评论 -
LeetCode. 206.反转一个单链表(迭代&递归)
LeetCode.206.反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?Related Topics 链表方法1:迭代思路分析:申请两个指针,第一个指针叫 pre,初始指向 null 。第二个指针 cur 指向 head,此处cur防止遍历时修改head的值。然后不断遍历 cur。每次迭代到 cur,原创 2020-09-25 09:58:56 · 133 阅读 · 0 评论