本文共 2652 字,大约阅读时间需要 8 分钟。
??????????????????????????????????????????????????????????????????????????
????????????
???????????????????????????????????prev?current?next??????????
?????
function reverseList(head) { if (!head || !head.next) return head; let pre = null; let current = head; while (current) { let next = current.next; current.next = pre; pre = current; current = next; } return pre;} ??????????????????????????next?????????next??pre???pre?????????????????????????pre????????????????????
????????????????????
????????????????????pre-order?????????????????in-order????????????????post-order??????????????
???????????????????????
function kthSmallest(root, k) { const stack = []; let result = null; stack.push(root); while (stack.length > 0) { result = stack.pop(); if (result.left) stack.push(result.left); if (result.right) stack.push(result.right); } return result;} ??????????????????????????
???????????1??????1?
8 & 7 = 0 // 1000 & 0111 ? 0000
???????????1?????1?
8 | 7 = 15 // 1000 | 0111 ? 1111
?????????????1??????????
8 ^ 7 = 15 // 1000 ^ 0111 ? 1111
???????????????????????????????
function sum(a, b) { while (a || b) { const newA = a ^ b; const newB = (a & b) << 1; a = newA; b = newB; } return a;} ??????????????????????????????????
???????
2*i + 1 ? 2*i + 2????? (i-1)/2??????
?????
function heapify(array, index, size) { let left = index * 2 + 1; while (left < size) { let largest = left + 1 < size && array[left] < array[left + 1] ? left + 1 : left; if (array[index] < array[largest]) { swap(array, index, largest); } else { break; } index = largest; left = index * 2 + 1; }} ???????????????
??????????????????????
function maxDepth(root) { if (!root) return 0; return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;} ??????????
??????????????????????????????????????????
?????
function quickSort(arr, left, right) { if (left >= right) return arr; let pivot = left; let partitionIndex = pivot + 1; for (let i = partitionIndex; i < right; i++) { if (arr[i] < arr[pivot]) { swap(arr, i, partitionIndex); partitionIndex++; } } swap(arr, pivot, partitionIndex - 1); quickSort(arr, left, partitionIndex - 1); quickSort(arr, partitionIndex, right); return arr;} ????????????????????????????????????????????????
转载地址:http://uoik.baihongyu.com/