手写算法:
- https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree/
```javascript
/**
- Encodes a tree to a single string. *
- @param {TreeNode} root
- @return {string} */ var serialize = function(root) { return rserialize(root,’’) };
/**
- Decodes your encoded data to tree. *
- @param {string} data
- @return {TreeNode} */ var deserialize = function(data) { const dataArray = data.split(“,”); console.log(dataArray) return rdeserialize(dataArray); };
/**
- Your functions will be called as such:
deserialize(serialize(root)); */
function rserialize(root,str){ if (root === null) {
str+= 'NONE,'
} else {
str += root.val + ",";str =rserialize(root.left,str)str =rserialize(root.right,str)
} return str } function rdeserialize(data) { if (data[0]===’NONE’) {
data.shift()return null
} let root = new TreeNode(parseInt(data[0])) data.shift() root.left = rdeserialize(data) root.right = rdeserialize(data) return root } ```
手写题
题目描述:渲染百万条结构简单的大数据时 怎么使用分片思想优化渲染
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><button onclick="startRender()">点我呀~</button><ul id="target"></ul></body><script>const total = 1000000const target = document.getElementById('target')const pageSize = 20let pageIndex = 0const pageCount = total / pageSizeconst startRender = () => {const render = () => {const fragment = document.createDocumentFragment()for (let i = 0; i < pageSize; i++) {const li = document.createElement('li')li.innerText = `hello, ${pageIndex * pageSize + i + 1}`fragment.appendChild(li)}target.appendChild(fragment)if (pageIndex < pageCount) {pageIndex++requestAnimationFrame(render)}}render()}</script></html>
