二叉树dfs
void dfs(TreeNode root) { if (root == null) { return; } dfs(root.left); dfs(root.right); }
二叉树bfs 层序遍历
void bfs(TreeNode root) { Queue<TreeNode> queue = new ArrayDeque<>(); queue.add(root); while (!queue.isEmpty()) { int n = queue.size(); for (int i = 0; i < n; i++) { // 变量 i 无实际意义,只是为了循环 n 次 TreeNode node = queue.poll(); if (node.left != null) { queue.add(node.left); } if (node.right != null) { queue.add(node.right); } } } }