
Leetcode
天资不足, 刷题来凑, 志在全栈, 角逐大厂
white camel
星光不问赶路人, 时光不负有心人
展开
-
leetcode——20.有效括号(栈实现)
Leetcode链表相关题目leetcode链接 : 有效的括号使用栈来实现的步骤public class _20_有效的括号 { // {[()]} // 因为下面的操作是在做,左右对应的关系(一对一),可以采用map方式来将左右括号对应起来 private static Map<Character, Character> map = new HashMap<>(); /* 静态代码块: 随着类的加载而执行,该代码块中如果要使用map原创 2020-11-01 16:52:24 · 199 阅读 · 0 评论 -
链表——从0实现一个单向循环链表 & 并且实现约瑟夫问题
目录一、什么是约瑟夫问题(Josephus Problem)?二、从0手写一个单向循环链表三、实现约瑟夫问题一、什么是约瑟夫问题(Josephus Problem)?百度百科-约瑟夫问题以下图为例, 箭头从1开始循环数数, 具体数到几自己规定, 下图为例从1数到3, 然后3淘汰, 将箭头指向被淘汰数的下一个, 然后继续数, 淘汰6, 以此类推…上图淘汰顺序为: 3 6 1 5 2 8 4 7二、从0手写一个单向循环链表该实现直接使用单向循环链表的内容, 建议从链表开始看;原创 2020-10-30 23:12:33 · 180 阅读 · 0 评论 -
leetcode——206.反转链表
Leetcode链表相关题目206.反转链表1、递归方法如下图, 假如我们写的reverseList(head)方法的功能就是反转成功的结果;reverseList(head.next)时如下图如果reverseList(head.next)此时就已经反转了 1 -> 2 -> 3 -> 4 -> null, 如果要想成功反转为1 2 3 4 5 null, 我们只需要解决4.next -> 5, 5.next -> null, 这样就完成了反转p原创 2020-10-27 19:32:43 · 257 阅读 · 0 评论 -
leetcode——237.删除链表中的节点
Leetcode链表相关题目237.删除链表中的节点一、237.删除链表中的节点思路: 一般我们删除链表中的节点都需要找到该节点的上一个节点, 通过移动指针即可;本题中没有指明head指针, 所以也就无法拿到被删除节点的上一个节点; 此时换一种思路:首先通过node.next.val 覆盖被删除节点的val, 也就是node.val, 然后再将node.next的指向再指向node.next的next; 这样一来当前的node就被删除了public class ListNode{原创 2020-10-27 18:41:23 · 203 阅读 · 0 评论