二叉树的序列化与反序列化|算法与数据结构-剑指Offer 题目描述
序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。
请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉 ...
阅读更多
设计模式(一)|设计模式-TypeScript因为设计模式部分代码,可能需要用到接口等特性,因此需要使用TS,下面介绍一点TS基础的使用方法,对于可以用ES6实现的方式,我尽量采用ES6实现。23种设计模式,这一篇肯定写不完,前面都是基础准备,想节约时间的,可直接跳到开始设计模式那块,本篇只介绍了,单例模式和工厂模式
TypeScript简单 ...
阅读更多
Webpack教程~基础篇|前端-webpack 基础概念
官网安装方式
通过官网的指引安装好webpack,在项目根目录添加 webpack.config.js 的文件.
webpack.config.js 遵循的是 commonJS 规范,依次文件采用 module.exports={[key]:[value]} 的方式, ...
阅读更多
浏览器工作原理~优化篇|浏览器 优化CSS
由之前的原理篇,我们知道浏览器必须要先加载生成DOM和CSSOM才能进行页面渲染,而前端为了适配不同设备可能需要很多css,例如打印设备中显示的css,移动端,网页端不同的css,此时常用的应该是 @media 属性,但是解析越多css,就会越耗时,因此可以把属于某一特性的css单独提 ...
阅读更多
栈的压入、弹出序列|算法与数据结构-剑指Offer 題目描述
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列 ...
阅读更多