Container with Most Water - Leet Code Solution
Problem Statement Given n non-negative integers a1, a2, …, an , where each…
November 19, 2020
Given a Binary tree, print out nodes in level order traversal from left to right.
50
/ \
80 30
/ \ \
20 40 10
# Output
# 50 80 30 20 40 10
Use BFS (Breadth First Search) algorithm. Since, it reaches out to nodes first that are immediate neighbours.
Idea is to take a queue, keep accumulating queue for each child.
void bfs(Node node) {
Queue<Node> q = new Queue();
q.add(node);
while (!q.isEmpty()) {
Node n = q.pop();
print(n);
if (n.left != null) q.add(n.left);
if (n.right != null) q.add(n.right);
}
}
The Complexity
is O(n)
as we are visiting each nodes only once.
You can prepare a list of nodes at each level. We will also use DFS (Depth First Search) algorithm here.
void levelOrder(Node node, List<List<Node>> list, int level) {
if (node == null)
return;
List<Node> levelList = list.get(level);
if (levelList == null) {
levelList = new ArrayList();
list.add(levelList);
}
levelList.add(node);
levelOrder(node.left, list, level+1);
levelOrder(node.right, list, level+1);
}
List<List<Node>> list = new ArrayList();
levelOrder(root, list, 0);
After this, we can print the list.
The Complexity
is O(n)
as we are visiting each nodes only once.
Problem Statement Given n non-negative integers a1, a2, …, an , where each…
Young Tableau A a X b matrix is Young Tableau if all rows(from left to right…
Problem Statement Given an array nums, write a function to move all 0’s to the…
In this post, we will see some of the frequently used concepts/vocabulary in…
Problem Statement You are given two non-empty linked lists representing two non…
Problem Statement Given a string s, return the maximum number of unique…
Introduction In this post we will see following: How to schedule a job on cron…
Introduction There are some cases, where I need another git repository while…
Introduction In this post, we will see how to fetch multiple credentials and…
Introduction I have an automation script, that I want to run on different…
Introduction I had to write a CICD system for one of our project. I had to…
Introduction Java log4j has many ways to initialize and append the desired…