private static void getDFS(TreeNode root) {
if (root == null) {
return;
}
Stack<TreeNode> stack = new Stack<>();
stack.push(root);
while (!stack.isEmpty()) {
TreeNode temp = stack.peek();
System.out.print(temp.value + "\t");
stack.pop();
if (temp.right != null) {
stack.push(temp.right);
}
if (temp.left != null) {
stack.push(temp.left);
}
}
System.out.println("深度优先遍历结束");
}
```
private static void getBFS(TreeNode root) {
if (root == null) {
return;
}
ArrayList<TreeNode> queue = new ArrayList<>();
queue.add(root);
while (queue.size() > 0) {
TreeNode temp = queue.get(0);
queue.remove(0);
System.out.print(temp.value + "\t");
if (temp.left != null) {
queue.add(temp.left);
}
if (temp.right != null) {
queue.add(temp.right);
}
}
System.out.println("广度优先遍历结束");
}