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 · 179 阅读 · 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 · 171 阅读 · 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 · 222 阅读 · 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 · 177 阅读 · 0 评论