Binary Tree Questions
Binary Tree Questions
import java.util.Stack;
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
this.left = null;
this.right = null;
if (root == null)
return;
while (!stack1.isEmpty()) {
stack2.push(current);
if (current.left != null)
stack1.push(current.left);
if (current.right != null)
stack1.push(current.right);
while (!stack2.isEmpty()) {
bt.postOrderIterative(root);
}
import java.util.LinkedList;
import java.util.Queue;
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
this.left = null;
this.right = null;
return;
queue.offer(root);
int currentLevel = 0;
while (!queue.isEmpty()) {
if (currentLevel == k) {
System.out.println();
return;
if (current.left != null)
queue.offer(current.left);
if (current.right != null)
queue.offer(current.right);
currentLevel++;
int k = 2;
bt.printNodesAtDistanceK(root, k);
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
this.left = null;
this.right = null;
if (root == null)
return Integer.MIN_VALUE;
int leftMax = findMaximum(root.left);