![](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) = 9 import java.util.Stack; /** * 逆原创 2020-11-06 10:52:23 · 162 阅读 · 0 评论 -
LeetCode.[997]找到小镇的法官、[690]员工的重要性、[1260]二维网格迁移
LeetCode.[997]找到小镇的法官、[690]员工的重要性、[1260]二维网格迁移原创 2020-11-03 09:21:14 · 126 阅读 · 0 评论 -
LeetCode剑指offer | 32.从上到下打印二叉树 III && 36.二叉搜索树与双向链表
LeetCode剑指offer | 32.从上到下打印二叉树 III && 36.二叉搜索树与双向链表原创 2020-10-04 17:33:44 · 131 阅读 · 0 评论 -
LeetCode | 两个队列实现一个栈,两个栈实现一个队列
1.两个栈实现一个队列 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部。 pop() – 从队列首部移除元素。 peek() – 返回队列首部的元素。 empty() – 返回队列是否为空。 示例: MyQueue queue = new MyQueue(); queue.push(1); queue.push(2); queue.peek(); // 返回 1 queue.pop(); // 返回 1 queue.empty(); // 返回 false 说明: 你只能使用原创 2020-09-30 08:44:42 · 320 阅读 · 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 · 128 阅读 · 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 · 89 阅读 · 0 评论 -
LeetCode. 86. 分隔链表
LeetCode. 86. 分隔链表 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head = 1->4->3->2->5->2, x = 3 输出: 1->2->2->4->3->5 Related Topics:链表,双指针 思路分析: 要分隔链表,很明显需要两个新的链表来存储分割开的数据,所以new两个节点来生成链表。 此原创 2020-09-26 09:37:54 · 135 阅读 · 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 评论