摘要: 递归版本 二叉树的深度优先遍历,包括: 1.前序遍历 2.中序遍历 3.后序遍历 他们是如何定义的呢? 见代码: public void traverse(TreeNode root) { if (root == null) { return; } // 先序,preOrder,第一次到达该节点处 阅读全文
posted @ 2022-04-18 13:30 zhenjiaguo 阅读(143) 评论(0) 推荐(0)
摘要: 使用流的方式可以将嵌套的列表转化为二维数组。 List<List<Integer>> res = new ArrayList<>(); for (int i = 0; i < 3; i++) { ArrayList<Integer> list = new ArrayList<>(); for (in 阅读全文
posted @ 2022-04-17 10:28 zhenjiaguo 阅读(775) 评论(0) 推荐(0)
摘要: 起因 最近在刷题,有一简单题 20. 有效的括号 我的作答如下,感觉可以顺利通过,却怎么也通不过: public boolean isValid(String s) { if (s.length() % 2 != 0) return false; char[][] blacks = new char 阅读全文
posted @ 2022-02-19 16:43 zhenjiaguo 阅读(1319) 评论(0) 推荐(0)
摘要: 基于spark2.4.4版源码,不过不同版本之间的基本原理应该没啥变化 使用了观察者模式,所以源码中重点关注于注册观察者、分发事件。为了方便描述,后续称观察者为监听者。 重要的角色有四个: 1、 LiveListenerBus,总的入口,如果要注册监听者,分发事件,持有该类的对象去分发即可,该类在S 阅读全文
posted @ 2021-09-18 17:20 zhenjiaguo 阅读(493) 评论(0) 推荐(0)
摘要: 前言 装机过程,简单说明一下 1、使用U盘制作Ubuntu20.04镜像 2、开机狂按F12,选择从制作的U盘启动 3、按提示完成安装 软件安装 deb包安装方法: 1、sudo dpkg -i xxx.deb 2、如果缺少依赖,根据提示,sudo apt install -f,然后再进行第1步重新 阅读全文
posted @ 2021-06-13 00:28 zhenjiaguo 阅读(843) 评论(2) 推荐(0)
摘要: 简要 本文主要介绍数据结构以及在 Java 中有哪些直接可用的数据结构(不涉及并发编程使用场景)。 常见的数据结构 下面直接介绍的常见的数据结构:数组(Array)、栈(Stack)、队列(Queue)、链表(Linked List)、树(Tree)、堆(Heap)、散列表(Hash)、图(Grap 阅读全文
posted @ 2019-11-25 17:08 zhenjiaguo 阅读(209) 评论(0) 推荐(0)