自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

寒泉

一只野生程序猿

  • 博客(936)
  • 资源 (1)
  • 论坛 (1)
  • 收藏
  • 关注

原创 集群搭建:CentOS 7 模板机封装、配置静态 IP、简单优化

最小化安装关闭内核转储安装常用工具yum install -y wget vim net-tools lrzsz配置静态ipcd /etc/sysconfig/network-scriptsvim ifcfg-ens33将 ifcfg-ens33 文件配置如下TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_A

2020-07-06 20:21:34 2362 1

原创 面试必会系列 - 11.1 一文读懂Maven:Maven工程类型、项目结构、工程关系、常见命令等

Maven详解什么是MavenMaven的下载目录结构、IDEA整合Maven【1】IDEA默认整合了Maven:【2】下载地址:【3】目录结构:【4】如果没有.m2目录 ,自己手动执行mvn命令:Maven仓库远程仓库本地仓库仓库配置在settings.xml文件中配置本地仓库在settings.xml文件中配置镜像仓库仓库优先级问题JDK的配置总结:Maven工程类型【1】POM工程【2】JAR工程【3】WAR工程在IDEA中创建Maven工程【1】过程:Ma

2021-01-16 23:17:42 190

原创 面试必会系列 - 5.2 详解OSI模型与七层协议,网络TCP/IP基础,三次握手、四次挥手等

网络IOOSI 与 TCP/IP 各层的结构与功能,都有哪些协议?七层体系结构图1、应用层2、传输层3、网络层4、数据链路层5、物理层数据经过网卡,传输到 CPU 的过程TCP 协议TCP 的状态变迁图TCP 协议如何保证可靠传输?TCP协议IP 协议UDP 协议三次握手四次分手为什么握手需要三次,分手需要四次?为什么四次分手之后,还会等两个传输时间,才会释放资源?socketIP 地址HTTP 长连接、短连接

2021-01-16 18:31:27 194

转载 mac安装brew失败怎么办?

试了好多种办法都不行,这个可以:运行下面自动脚本(已经全部替换为国内地址):/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"原地址:https://www.zhihu.com/question/35928898...

2021-01-09 18:44:30 228

原创 从单机到多机:多机一定比单机快吗?秒杀系统到底有没有必要用分布式锁?

从单机到多机:多机一定比单机快吗?秒杀到底有没有必要用分布式锁?一、单机场景单机能承受的 TPStomcat 500~1000mysql 200~800在单机状态下,tomcat 能接受的请求肯定比 mysql 更多,此时数据库成为系统瓶颈。为了解决这个问题,可以将自增的累加器(例如请求次数、商品剩余等等)等“公共值”缓存起来,放在 JVM 里面,仅让有效请求到达数据库,让 DB 的 TPS 有最大利用价值。Tomcat 是多线程的,会产生并发问题。我们考虑不同商品数量的情况:最小,只有

2021-01-02 23:14:38 2132 2

原创 leetcode 371. 两整数之和(不用算术运算符实现两个数的加法:按位异或原理)

题目https://leetcode-cn.com/problems/sum-of-two-integers/题解按位异或:相同为0,不同为1对于二进制的加法运算,若不考虑进位,则 1+1=0, 1+0=1, 0+1=1, 0+0=0,通过对比异或,不难发现,此方法与异或运算类似。因而排除进位的情况下,加法可用异或来实现。然后考虑进位,0+0 进位为 0,1+0 进位为 1,0+1 进位为0,1+1 进位为1,该操作与位运算的 & 操作相似。那么加法运算可以这样实现:先不考虑进位

2021-01-01 20:13:52 1088

原创 leetcode 简单题合集(Java版)

326. 3的幂https://leetcode-cn.com/problems/power-of-three/题解:class Solution { public boolean isPowerOfThree(int n) { if (n == 0) return false; while (n != 1) { if (n % 3 != 0) return false; else n /= 3;

2021-01-01 00:56:32 1185

原创 leetcode 303. 区域和检索 - 数组不可变(Java版)

题目303. 区域和检索 - 数组不可变题解经典的累加和问题。定义一个数组 sum,存放数组从 0 到 sum 的累加和。欲求某区间的累加和,只需将对应位置 sum 相减即可。时间复杂度O(n),空间复杂度O(n)代码class NumArray { public int[] sum; // 累加和数组 public NumArray(int[] nums) { sum = new int[nums.length + 1]; sum[0

2020-12-31 12:25:41 1147

原创 leetcode 292. Nim 游戏(Java版)

题目https://leetcode-cn.com/problems/nim-game/题解本题实际上是一个需要分析的数学题。如果第一时间没有发现规律的话,可以尝试先用递归法,暴力输出前几个,观察规律。// 用本函数跑 1~100,找规律public boolean canWin(int n) { if (n <= 3) return true; // canWinNim(n-1), canWinNim(n-2), canWinNim(n-3) 只要有一个为false本轮就

2020-12-31 08:33:57 1233

原创 左神算法:判断二叉树是否为平衡二叉树(树形dp套路,Java版)

本题来自左神《程序员代码面试指南》“判断二叉树是否为平衡二叉树”题目。题目平衡二叉树的性质为:要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超过 1。给定一棵二叉树的头节点 head,判断这棵二叉树是否为平衡二叉树。要求:如果二叉树的节点数为 N,则要求时间复杂度为 O(N)。题解平衡二叉树的标准是:对任何子树来说,左子树和右子树的高度差都不超过1。本题解法的整体过程为 树形 dp 套路,请读者先阅读 “找到二叉树中的最大搜索二叉子树” 问题了解这个套路,本题是这个套路的再次展.

2020-12-30 23:53:26 1221

原创 leetcode 290. 单词规律(Java版)

题目https://leetcode-cn.com/problems/word-pattern/题解题目要求 pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着 双向连接 的对应规律,因此,建立两个 hashmap,分别验证正向、反向是否对应即可。class Solution { public boolean wordPattern(String pattern, String s) { HashMap<Character, String>

2020-12-30 19:49:54 1179

原创 leetcode 283. 移动零(Java版)

题目题解定义一个变量 count,用于记录累计非 0 个数,可以理解为指向第一个 0 位置的指针。对数组进行遍历,每当遇到非 0 元素时,将此元素复制到 count 指针所指向的位置。数组遍历结束后,将 count 及其后面的元素全部归零。时间复杂度O(n),空间复杂度O(1)class Solution { public void moveZeroes(int[] nums) { int count = 0;//count表示累计非0个数,可以理解为指向第一个0位

2020-12-30 09:29:51 1210

原创 leetcode 278. 第一个错误的版本(Java版)

题目https://leetcode-cn.com/problems/first-bad-version/题解二分查找即可,注意可能会溢出,过程要用 long 类型/* The isBadVersion API is defined in the parent class VersionControl. boolean isBadVersion(int version); */public class Solution extends VersionControl { publ

2020-12-29 19:31:55 1252

原创 本地 MarkDown 怎么部署到服务器上?教你使用 Docsify 搭建个人博客

使用Docsify搭建文档类型网站docsify 可以快速帮你生成文档网站。不同于 GitBook、Hexo 的地方是,它不会生成静态的 .html 文件,所有转换工作都是在运行时。如果你想要开始使用它,只需要创建一个 index.html 就可以开始编写文档并直接部署在 GitHub Pages。Docsify官方文档:https://docsify.js.org/#/zh-cn/安装 docsify-cli 工具推荐全局安装 docsify-cli 工具,可以方便地创建及在本地预览生成的文档。

2020-12-29 18:11:11 1406

原创 左神算法:判断 t1 树中是否有与 t2 树拓扑结构完全相同的子树(Java版)

本题来自左神《程序员代码面试指南》“判断 t1 树中是否有与 t2 树拓扑结构完全相同的子树”题目。题目给定彼此独立的两棵树头节点分别为 t1 和 t2,判断 t1 中是否有与 t2 树拓扑结构完全相同的子树。例如,如图3-36 所示的 t1 树和如图 3-37 所示的 t2 树。题解如果 t1 的节点数为 N,t2 的节点数为 M,则本题最优解是时间复杂度为O(N+M)的方法。首先简单介绍一个时间复杂度为O(N×M)的方法:对于 t1 的每棵子树,都去判断是否与 t2 树的拓扑结构完.

2020-12-28 09:30:12 1353

原创 leetcode 268. 丢失的数字(Java版)

题目https://leetcode-cn.com/problems/missing-number/题解解法 1本题要求线性时间复杂度、仅使用额外常数空间的算法解决此问题,其实质是一个数学问题。由于给定的数组本应包含从 0 到 n 范围内的所有数字,故可以将其看做一个首项为 0,尾项为length,步增为 1 的等差数列。因此,求“缺项”的问题,可以转化为:先求等差数列前 n 项和,再减去已经存在的每一项 的问题。本算法的时间复杂度为O(n),空间复杂度为O(1)package test

2020-12-27 23:42:47 1308

原创 左神算法:判断 t1 树是否包含t2 树全部的拓扑结构(剑指 Offer 26. 树的子结构,Java版)

本题来自左神《程序员代码面试指南》“判断 t1 树是否包含t2 树全部的拓扑结构”题目。题目剑指 Offer 26. 树的子结构给定彼此独立的两棵树头节点分别为 t1 和 t2,判断 t1 树是否包含 t2 树全部的拓扑结构。例如,如图 3-34 所示的 t1 树和如图 3-35 所示的 t2 树。题解思路如下。如果 t1 中某棵子树头节点的值与 t2 头节点的值一样,则从这两个头节点开始匹配。匹配的每一步,都让 t1 上的节点跟着 t2 上的节点的先序遍历移动,每移动一步,都检查 t.

2020-12-25 16:19:06 1600

原创 操作系统例题:某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表

题目某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为______。(2017统考真题)A. 5B. 9C. 12D. 20答案本题答案为:D分析可以把用户访问权限抽象为一个矩阵,行代表用户,列代表访问权限。这个矩阵有 4 行 5 列,1 代表 true,0 代表 false,所以需要 2

2020-12-23 18:18:34 1796 2

原创 leetcode 263. 丑数(Java版)

题目https://leetcode-cn.com/problems/ugly-number/题解思路比较简单,如下:如果当前数可以被 2、3、5 当中任意一个整除,就一直除,直到不能被 2、3、5 当中任意一个整除为止。如果此时结果不为 1,说明还有其他因数,不是丑数。代码class Solution { public boolean isUgly(int num) { if (num == 0) return false; while (num !=

2020-12-22 18:36:04 1544 1

原创 左神算法:调整搜索二叉树中两个错误的节点(Java版)

本题来自左神《程序员代码面试指南》“调整搜索二叉树中两个错误的节点”题目。原问题:一棵二叉树原本是搜索二叉树,但是其中有两个节点调换了位置,使得这棵二叉树不再是搜索二叉树,请找到这两个错误节点并返回。已知二叉树中所有节点的值都不一样,给定二叉树的头节点 head,返回一个长度为 2 的二叉树节点类型的数组 errs,errs[0] 表示一个错误节点,errs[1] 表示另一个错误节点。进阶问题:如果在原问题中得到了这两个错误节点,我们当然可以通过交换两个节点的节点值的方式让整棵二叉树

2020-12-22 18:23:46 1564

原创 面试必会系列 - 5.1 网络BIO、NIO、epoll,同步/异步模型、阻塞/非阻塞模型,你能分清吗?

BIO,NIO,epoll同步/异步模型、阻塞/非阻塞模型同步:当一个同步调用发出后,调用者要一直等待返回结果。通知后,才能进行后续的执行。异步:当一个异步过程调用发出后,调用者不能立刻得到返回结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。阻塞:是指调用结果返回前,当前线程会被挂起,即阻塞。非阻塞:是指即使调用结果没返回,也不会阻塞当前线程。比喻:小Q去钓鱼,抛完线后就傻傻的看着有没有动静,有则拉杆(同步阻塞)小Q去钓鱼,拿鱼网捞一下,有没有鱼立即知道,不用等,直

2020-12-22 18:00:22 2530 2

原创 leetcode 258. 各位相加(Java版)

题目https://leetcode-cn.com/problems/add-digits/题解方法一:双 while常规解法。题目描述即思路,反复将各个位上的数字相加,直到结果为一位数,返回即可。public class Solution { public static int addDigits(int num) { int sum = num; while (sum / 10 != 0) { num = sum;

2020-12-22 00:13:00 1771 1

原创 leetcode 257. 二叉树的所有路径(Java版)

题目https://leetcode-cn.com/problems/binary-tree-paths/题解二叉树前序遍历即可每走到一个节点,将当前节点的值拼到路径字符串 str 中。如果走到的是叶子结点,说明当前路径已经结束。将拼好的字符串 str 加入到 list 中。前序遍历完成后,得到的 list 即为所求。复杂度分析因为是前序遍历,所以之间复杂度 O(n),空间复杂度O(h)。其中,n 表示二叉树节点个数,h 表示二叉树深度。代码为了可读性,本文直接用 “+” 做字符

2020-12-21 18:30:32 1780 1

原创 左神算法:二叉树的按层打印与ZigZag打印(Java版)

本题来自左神《程序员代码面试指南》“二叉树的按层打印与ZigZag打印”题目。题目给定一棵二叉树的头节点 head,分别实现 按层 和 ZigZag 打印 二叉树的函数。例如,二叉树如图 3-29 所示。按层打印时,输出格式必须如下:Level 1 : 1Level 2 : 2 3Level 3 : 4 5 6Level 4 : 7 8ZigZag 打印时,输出格式必须如下:Level 1 from left to right: 1Level 2 from right to l.

2020-12-21 00:20:43 1826

原创 leetcode 242. 有效的字母异位词(Java版)

题目https://leetcode-cn.com/problems/valid-anagram/题解本题默认所有字母均为小写字母。首先,建一个容量为26的数组,存放每一个字母出现的次数。然后,遍历字符串s、t中的每一个字母,同一个字母在两字符串中出现的次数可以相互抵消。最后,看整个数组是否全部抵消,即是否每一个元素均为0即可。代码public class Solution { public boolean isAnagram(String s, String t) {

2020-12-20 21:56:02 1804 1

原创 leetcode 237. 删除链表中的节点(左神算法:一种怪异的节点删除方式、此方法存在的问题分析)

题目题解一种怪异的节点删除方式本题的思路很简单,举例就能说明具体的做法。例如,链表1->2->3->null,只知道要删除节点2,而不知道头节点。那么只需把节点2 的值变成节点3 的值,然后在链表中删除节点3 即可。这道题目出现的次数很多,这么做看起来非常方便,但 其实是有很大问题的。存在的问题一这样的删除方式 无法删除最后一个节点。还是以原示例来说明,如果知道要删除节点3,而不知道头节点。但它是最后的节点,根本没有下一个节点来代替节点3 被删除,那么只有让节点2 的ne

2020-12-20 18:50:16 1765

转载 架构师之路:粉丝关系链,10亿数据,如何设计?

目录粉丝关系链,10亿数据,如何设计?什么是关系链业务?弱好友关系的建立,不需要双方彼此同意:强好友关系的建立,需要好友关系双方彼此同意:弱好友关系,存储层应该如何实现?如何查询一个用户关注了谁?如何查询一个用户粉了谁?强好友关系,存储层应该如何实现?方案一uid=1的用户添加了uid=2的用户,双方都同意加彼此为好友,这个强好友关系,在数据库中应该插入记录{1, 2}还是记录{2,1}呢?如何查询一个用户的好友呢?方案二两种实现,各有什么优缺点?如何进行数据冗余?方法一:服务同步冗余方法二:服务异步冗余方

2020-12-20 16:44:58 1781

原创 leetcode 235. 二叉搜索树的最近公共祖先(Java版,树形dp套路)

题目原题地址:leetcode 235. 二叉搜索树的最近公共祖先说明:所有节点的值都是唯一的。p、q 为不同节点且均存在于给定的二叉搜索树中。题解关于 树形dp 套路,可以参考我的另一篇博客:左神算法:找到二叉树中的最大搜索二叉子树(Java版)下面简述本题思路:首先,如何判断一个节点 head 是否是 p、q 的公共祖先?只需要用二分查找的方式,判断以 head 为头的树中是否包含 p、q 即可。然后,如何找到“最近”的公共祖先?直观上看,最近的公共祖先,一定是所有的公共祖先中

2020-12-20 00:05:34 1827 3

原创 左神算法:找到二叉树中符合搜索二叉树条件的最大拓扑结构(Java版)

本题来自左神《程序员代码面试指南》“找到二叉树中符合搜索二叉树条件的最大拓扑结构”题目。题目牛客OJ:找到二叉树中符合搜索二叉树条件的最大拓扑结构给定一棵二叉树的头节点head,已知所有节点的值都不一样,返回其中最大的且符合搜索二叉树条件的最大拓扑结构的大小。例如,二叉树如图 3-19 所示。其中最大的且符合搜索二叉树条件的拓扑结构如图3-20 所示。这个拓扑结构节点数为8,所以返回8。题解方法一:二叉树的节点数为N,时间复杂度为O(N^2)的方法。首先来看这样一个问题,以节点 h.

2020-12-18 21:30:11 1990 3

原创 左神算法:找到二叉树中的最大搜索二叉子树(树形dp套路,Java版)

本题来自左神《程序员代码面试指南》“找到二叉树中的最大搜索二叉子树”题目。题目给定一棵二叉树的头节点 head,已知其中所有节点的值都不一样,找到含有节点最多的搜索二叉子树,并返回这棵子树的头节点。例如,二叉树如图 3-17 所示。这棵树中的最大搜索二叉子树如图 3-18 所示。要求:如果节点数为 N,则要求时间复杂度为 O(N),额外空间复杂度为 O(h),其中,h 为二叉树的高度。题解本题涉及二叉树面试题中一个很常见的套路,也是全书的一个重要内容。利用分析可能性求解在二叉树上做类似动.

2020-12-18 12:46:42 1958

原创 左神算法:未排序正数数组中累加和为给定值的最长子数组长度(Java版)

牛客OJ:[未排序数组中累加和为给定值的最长子数组长度] 题目:给定一个无序数组arr, 其中元素可正、可负、可0。给定一个整数k,求arr所有子数组中累加和为k的最长子数组长度。本文提供的方法可以做到时间复杂度为O(N)、额外空间复杂度为O(N)。题解:为了说明解法,先定义s 的概念,s(i)代表子数组arr[0..i]所有元素的累加和。那么子数组arr[j..i(] 0≤j≤i<arr.length)的累加和为s(i)-s(j-1),因为根据定义,

2020-12-18 00:16:55 1982

原创 左神算法:在二叉树中找到累加和为指定值的最长路径长度(Java版)

本题来自左神《程序员代码面试指南》“在二叉树中找到累加和为指定值的最长路径长度”题目。题目给定一棵二叉树的头节点 head 和一个 32 位整数 sum,二叉树节点值类型为整型,求累加和为 sum 的最长路径长度。“路径” 是指从某个节点往下,每次最多选择一个孩子节点或者不选所形成的节点链。例如,二叉树如图 3-16 所示。如果 sum=6,那么累加和为 6 的最长路径为:-3,3,0,6,所以返回 4。如果 sum=-9,那么累加和为 -9 的最长路径为:-9,所以返回 1。注:本题不用考.

2020-12-17 19:16:31 2021

原创 左神算法:遍历二叉树的神级方法(Morris遍历 / 线索二叉树)

本题来自左神《程序员代码面试指南》“遍历二叉树的神级方法”题目。题目给定一棵二叉树的头节点 head,完成二叉树的先序、中序和后序遍历。如果二叉树的节点数为N,则要求时间复杂度为O(N),额外空间复杂度为O(1)。题解之前的题目已经剖析过如何用递归和非递归的方法实现遍历二叉树,但是很不幸,之前所有的方法虽然常用,但都无法做到额外空间复杂度为O(1)。这是因为遍历二叉树的递归方法实际使用了函数栈,非递归的方法使用了申请的栈,两者的额外空间都与树的高度相关,所以空间复杂度为O(h),h为二叉树的高度.

2020-12-16 20:27:16 2022

原创 leetcode 228. 汇总区间(Java版)

题目示例 1:输入:nums = [0,1,2,4,5,7]输出:["0->2","4->5","7"]解释:区间范围是:[0,2] --> "0->2"[4,5] --> "4->5"[7,7] --> "7"示例 2:输入:nums = [0,2,3,4,6,8,9]输出:["0","2->4","6","8->9"]解释:区间范围是:[0,0] --> "0"[2,4] --> "2->4"[6,6

2020-12-16 18:34:01 2029

原创 高等数学:非齐次线性微分方程解的结构(含例题解析)

非齐次线性微分方程解的结构非齐次线性微分方程,是具有非齐次项的线性微分方程。其中,一阶非齐次线性微分方程的表达式为 y'+p(x)y=Q(x)二阶常系数非齐次线性微分方程的表达式为 y''+py'+qy=f(x)非齐次线性微分方程的通解,是由其对应的 齐次方程的通解 加上 非齐次线性微分方程的一个特解 组成。笔记以及例题如下:...

2020-12-16 17:50:57 2166

原创 爬虫实战:CentOS安装JDK,部署Java程序,利用screen使其保持在前台运行

一、CentOS 7 yum 安装与配置 JDK参考:https://blog.csdn.net/github_38336924/article/details/822212581、检查是否已安装JDK及卸载yum list installed | grep [java][jdk]执行命令出现如上图所示,需要卸载,反之即不用。卸载JAVA环境:yum -y remove java-1.6.0-openjdk* //表时卸载所有openjdk相关文件输入yum -y remove tzda

2020-12-15 20:17:09 2197 6

原创 左神算法:二叉树的序列化和反序列化(Java版)

本题来自左神《程序员代码面试指南》“二叉树的序列化和反序列化”题目。题目二叉树被记录成文件的过程叫作二叉树的序列化,通过文件内容重建原来二叉树的过程叫作二叉树的反序列化。给定一棵二叉树的头节点head,已知二叉树节点值的类型为32 位整型。请设计一种二叉树序列化和反序列化的方案,并用代码实现。题解本文提供两套序列化和反序列化的实现,供读者参考。方法一:通过先序遍历实现序列化和反序列化。先介绍先序遍历下的序列化过程,首先假设序列化的结果字符串为str,初始时str=""。先序遍历二叉树,如果遇.

2020-12-15 10:12:58 2155

原创 面试必会系列 - 4.1 程序员必须掌握的:计算机组成、操作系统知识点汇总

计组、操作系统汇编和操作系统代码,又是不同层面的东西。汇编是针对CPU编程。系统内核方法,是针对操作系统编程。CPU电路原理 CPU的基本组成PC -> Program Counter 程序计数器 (记录当前指令地址)Registers -> 暂时存储CPU计算需要用到的数据ALU -> Arithmetic & Logic Unit 运算单元缓存行对齐伪共享问题缓存行大小缓存行越大,局部性空间效率越高,但读取时间慢;缓存行越小,局部性空间效率越低,但读取时间快。取一个折中值,目前 Inte

2020-12-13 22:56:15 2938 2

原创 左神算法:如何较为直观地打印二叉树(Java版)

本题来自左神《程序员代码面试指南》“如何较为直观地打印二叉树”题目。题目二叉树可以用常规的三种遍历结果来描述其结构,但是不够直观,尤其是二叉树中有重复值的时候,仅通过三种遍历的结果来构造二叉树的真实结构更是难上加难,有时则根本不可能。给定一棵二叉树的头节点head,已知二叉树节点值的类型为32 位整型,请实现一个打印二叉树的函数,可以直观地展示树的形状,也便于画出真实的结构。题解这是一道较开放的题目,实现者不仅要设计出符合要求且不会产生歧义的打印方式,还要考虑实现难度,在面试时仅仅写出思路必然.

2020-12-13 22:38:45 2152

原创 Java多线程:示例代码

仅供学习、测试使用,不要为了刷数据偷懒噢...使用方式将要博客地址(可以是CSDN主页、CSDN任意博客页)填写入第23行的变量MYURL中,点击运行即可本程序【自动检测】该页所对应博主的【用户ID】,并访问该博主【用户ID】名下所有博客链接运行效果代码package cn.hanquan.file;import java.io.BufferedReader;im...

2020-12-13 15:10:44 4798 4

Java小球躲避小游戏

Java开发的小球躲避小游戏。通过上下左右按键控制小球移动,小球移动的方向包括:横向、纵向、斜向,小球具有初始生命值。小球通过移动来躲避炮弹,当小球碰到炮弹时,产生爆炸的动画效果。注释很全面,速度、初始子弹数量都可以通过全局变量修改。适合入门学习使用。

2019-06-24

寒泉Hq的留言板

发表于 2020-01-02 最后回复 2020-04-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除