You are viewing a single comment's thread. Return to all comments →
public static void topView(Node root) { class levelNode{ Node node; int level; levelNode(int level, Node node){ this.level = level; this.node = node; } } HashMap topviewmap = new HashMap<>(); Queue q1 = new LinkedList<>(); q1.add(new levelNode(0, root)); while(!q1.isEmpty()){ levelNode temp = q1.poll(); if(!topviewmap.containsKey(temp.level)){ topviewmap.put(temp.level, temp.node); } if(temp.node.left != null){ q1.add(new levelNode(temp.level-1, temp.node.left)); } if(temp.node.right != null){ q1.add(new levelNode(temp.level+1, temp.node.right)); } } for(Map.Entry map : topviewmap.entrySet()){ Node temp = map.getValue(); System.out.print(temp.data+" "); } }> i have writen this code but its not working just passing 1 testcase all suggestions will be appriciated.
Seems like cookies are disabled on this browser, please enable them to open this website
Tree : Top View
You are viewing a single comment's thread. Return to all comments →
public static void topView(Node root) { class levelNode{ Node node; int level; levelNode(int level, Node node){ this.level = level; this.node = node; } } HashMap topviewmap = new HashMap<>(); Queue q1 = new LinkedList<>(); q1.add(new levelNode(0, root)); while(!q1.isEmpty()){ levelNode temp = q1.poll(); if(!topviewmap.containsKey(temp.level)){ topviewmap.put(temp.level, temp.node); } if(temp.node.left != null){ q1.add(new levelNode(temp.level-1, temp.node.left)); } if(temp.node.right != null){ q1.add(new levelNode(temp.level+1, temp.node.right)); } } for(Map.Entry map : topviewmap.entrySet()){ Node temp = map.getValue(); System.out.print(temp.data+" "); } }> i have writen this code but its not working just passing 1 testcase all suggestions will be appriciated.