01 2024 档案
摘要:1. 什么是堆 ? 2. 完全二叉树和数组前缀范围的对应 任何节点 i 的父亲节点 = (i - 1) / 2,i 的左孩子 = i * 2 + 1,i 的右孩子 = i * 2 + 2 单独的变量size 来控制堆的大小, i * 2 + 1 < size 有左孩子、i * 2 + 2 < siz
阅读全文
摘要:实现 1. 前序遍历 public void preOrderNor(TreeNode root) { if (root == null) { return; } Stack<TreeNode> stack = new Stack<>(); stack.push(root); while (!sta
阅读全文
摘要:二叉树面试题进阶 1. 二维数组存储层序遍历结果 难点: 如何存储每一层的节点 ?根据队列节点的个数判断每一层 class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> re
阅读全文
摘要:创建二叉树 1. 前序遍历创建二叉树 import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 class TreeNode { public TreeNode left; public char val; public Tree
阅读全文
摘要:二叉树基本操作 1. 获取二叉树中节点个数 计数器思路: public int nodeNum; public void size1(TreeNode root) { if (root == null) { return; } this.nodeNum++; size1(root.left); si
阅读全文
摘要:二叉树入门题 1. 判断两颗树是否相同 class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { // 如何判断两颗树是否相同? 根相同 + 左右子树相同 // 如何判断根相同? 结构 + 值相同 if (p == nu
阅读全文
摘要:1. 二叉树结构 2. 二叉树节点遍历顺序 前序: 每颗子树以 中 —》左 —》右 遍历 A B D E H C F G 中序: 每颗子树以 左 —》中 —》右 遍历 D B E H A F C G 后序: 每颗子树以 左 —》右 —》中 遍历 D H E B F G C A 代码实现: publi
阅读全文
摘要:二进制与位运算 1)二进制和位的概念 十进制: 103 103 = 10^0 × 3 + 10^1 × 0 + 10^2 × 1 2)负数怎么用二进制表达 3)为什么这么设计负数 (为了加法的逻辑是一套逻辑,没有条件转移),那么为啥加法逻辑如此重要呢? (未理解) 4)打印二进制;直接定义二进制、十
阅读全文