
数据结构与算法
远方时光
终身学习者
展开
-
单向环形链表(约瑟夫环josephu,小孩出圈问题)
构建约瑟夫环: 小孩出圈思路: public class Josepfu { public static void main(String[] args) { // 测试一把看看构建环形链表,和遍历是否ok CircleSingleLinkedList circleSingleLinkedList = new CircleSingleLinkedList(); circleSingleLinkedList.addBoy(125);// 加入5个小孩节点 circleSin..原创 2021-06-30 15:15:30 · 201 阅读 · 0 评论 -
Leetcode--No19删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 解: class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { ListNode dummy = new ListNode(0, head); ListNode first = h...原创 2021-06-28 11:08:49 · 111 阅读 · 0 评论 -
使用数组模拟环形队列
思路如下: 1. front 变量的含义做一个调整: front 就指向队列的第一个元素, 也就是说 arr[front] 就是队列的第一个元素 front 的初始值 = 0 2. rear 变量的含义做一个调整:rear 指向队列的最后一个元素的后一个位置. 因为希望空出一个空间做为约定. rear 的初始值 = 0 3. 当队列满时,条件是 (rear + 1) % maxSize == front 【满】 4. 对队列为空的条件, rear == front 空 5. 当我们这样...原创 2021-06-24 22:04:33 · 147 阅读 · 0 评论