Skip to content

Commit

Permalink
Added codes for 21 March
Browse files Browse the repository at this point in the history
  • Loading branch information
Tanmay-312 committed Mar 21, 2024
1 parent ccd98d0 commit aed1ab8
Show file tree
Hide file tree
Showing 4 changed files with 191 additions and 0 deletions.
160 changes: 160 additions & 0 deletions GeeksForGeeks/March/21-3-24/GFG.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
//{ Driver Code Starts
//Initial Template for Java

import java.util.*;
import java.util.HashMap;
import java.io.*;

class Node
{
int data;
Node left,right;
Node(int data){
this.data = data;
left=null;
right=null;
}
}

public class GFG2
{
static Node buildTree(String str){

if(str.length()==0 || str.charAt(0)=='N'){
return null;
}

String ip[] = str.split(" ");
// Create the root of the tree
Node root = new Node(Integer.parseInt(ip[0]));
// Push the root to the queue

Queue<Node> queue = new LinkedList<>();

queue.add(root);
// Starting from the second element

int i = 1;
while(queue.size()>0 && i < ip.length) {

// Get and remove the front of the queue
Node currNode = queue.peek();
queue.remove();

// Get the current node's value from the string
String currVal = ip[i];

// If the left child is not null
if(!currVal.equals("N")) {

// Create the left child for the current node
currNode.left = new Node(Integer.parseInt(currVal));
// Push it to the queue
queue.add(currNode.left);
}

// For the right child
i++;
if(i >= ip.length)
break;

currVal = ip[i];

// If the right child is not null
if(!currVal.equals("N")) {

// Create the right child for the current node
currNode.right = new Node(Integer.parseInt(currVal));

// Push it to the queue
queue.add(currNode.right);
}
i++;
}

return root;
}

public static void inorder(Node root)
{
if(root==null)
return;
inorder(root.left);
System.out.print(root.data);
inorder(root.right);
}
/* Drier program to test above functions */
public static void main(String args[]) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

int t=Integer.parseInt(br.readLine());

while(t > 0){
String s = br.readLine();
Node root = buildTree(s);
GFG g = new GFG();

ArrayList<Integer> res = g.zigZagTraversal(root) ;
for (int i = 0; i < res.size (); i++)
System.out.print (res.get (i) + " ");
System. out. println();

t--;

}
}
}
// } Driver Code Ends


//User function Template for Java

/*class Node
{
int data;
Node left,right;
Node(int d)
{
data=d;
left=right=null;
}
}*/

class GFG
{
//Function to store the zig zag order traversal of tree in a list.
ArrayList<Integer> zigZagTraversal(Node root)
{
//Add your code here.
ArrayList<Integer> al = new ArrayList<>();
boolean flag = false;
Queue<Node> q = new LinkedList<>();
q.add(root);

while(!q.isEmpty())
{
int s = q.size();
ArrayList<Integer> temp = new ArrayList<>();

while(s>0)
{
Node n = q.remove();
s--;
if(flag)
temp.add(0, n.data);
else
temp.add(n.data);
if(n.left!=null)
q.add(n.left);
if(n.right!=null)
q.add(n.right);
}

flag = !flag;
al.addAll(temp);
}

return al;
}
}
2 changes: 2 additions & 0 deletions GeeksForGeeks/March/21-3-24/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Time complexity - O(n)
Space complexity - O(n)
2 changes: 2 additions & 0 deletions LeetCode/March/21-3-24/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Time complexity - O(n)
Space complexity - O(1)
27 changes: 27 additions & 0 deletions LeetCode/March/21-3-24/Solution.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution
{
public ListNode reverseList(ListNode head)
{
ListNode prev = null;

while (head != null)
{
ListNode next = head.next;
head.next = prev;
prev = head;
head = next;
}

return prev;
}
}

0 comments on commit aed1ab8

Please sign in to comment.