class Node { int data; Node left, right; public Node(int item) { data = item; left = right = null; } } /* Class to print the left view */ public class A045 { Node root; static int max_level = 0; // recursive function to print left view void leftViewUtil(Node node, int level) { // Base Case if (node==null) return; // If this is the first node of its level if (max_level < level) { System.out.print(" " + node.data); max_level = level; } // Recur for left and right subtrees leftViewUtil(node.left, level+1); leftViewUtil(node.right, level+1); } // A wrapper over leftViewUtil() void leftView() { leftViewUtil(root, 1); } /* testing for example nodes */ public static void main(String args[]) { /* creating a binary tree and entering the nodes */ A045 tree = new A045(); tree.root = new Node(1); tree.root.left = new Node(2); tree.root.right = new Node(3); tree.root.left.left = new Node(4); tree.root.left.right = new Node(5); tree.root.right.left = new Node(6); tree.root.right.right = new Node(7); tree.root.right.left.left = new Node(8); tree.root.right.right.right = new Node(9); tree.leftView(); } }
近期评论