摘要:
/** * 注意:left/right值若没有显示设置为null,值即为undefined * 在调用二叉树前、中、后序遍历方法时,由于参数设置了默认值(tree) * 所以进入了死循环 */ const tree = { value: 5, left: { value: 3, left: { va 阅读全文
摘要:
数组反转 const findPalindromeByReserveArray = () => { const arr = [] for(let i = 1; i <= 10000; i++){ const str = String(i) const strArr = str.split('') i 阅读全文
摘要:
双层for循环 const repeatStrAndNumsByDoubleLoop = (str = 'aabbbcccddeeefffff') => { const res = { char: '', len: 0 } const { length } = str for(let i = 0; 阅读全文
摘要:
只移动0,其他顺序不变;必须在元素组进行操作 会改变原数组内的值类型 const moveZeroByReg = (arr = [1,0,2,0,3,0,4,0,5]) => { const reg = /0/g let str = arr.join('') const res = str.matc 阅读全文
摘要:
逻辑结构 VS 物理结构 堆:逻辑结构是一颗二叉树(如下图) 物理结构是一个数组(如下代码) // 上图是一个堆(从小到大)可以用数组表示 const heap = [-1, 10, 14, 25, 33, 81, 82, 99] // 忽略下标0 // 节点关系 const parentindex 阅读全文
摘要:
循环实现 const binarySearchTree = (node = tree, target = 8) => { let curNode = node while(true){ if(!curNode){ return false } if(curNode.value > target){ 阅读全文
摘要:
/** * 注意:left/right值若没有显示设置为null,值即为undefined * 在调用二叉树前、中、后序遍历方法时,由于参数设置了默认值(tree) * 所以进入了死循环 */ const tree = { value: 5, left: { value: 3, left: { va 阅读全文