Leaves to DLL Java
- Get link
- X
- Other Apps
PROGRAM TO EXTRACT LEAVES OF A BINARY TREE IN A DOUBLY LINKED LIST
class Node { int data; Node left, right; Node(int item) { data = item; right = left = null; }} public class BinaryTree { Node root; Node head; // will point to head of DLL Node prev; // temporary pointer // The main function that links the list list to be traversed public Node extractLeafList(Node root) { if (root == null) return null; if (root.left == null && root.right == null) { if (head == null) { head = root; prev = root; } else { prev.right = root; root.left = prev; prev = root; } return null; } root.left = extractLeafList(root.left); root.right = extractLeafList(root.right); return root; } //Prints the DLL in both forward and reverse directions. public void printDLL(Node head) { Node last = null; while (head != null) { System.out.print(head.data + " "); last = head; head = head.right; } } void inorder(Node node) { if (node == null) return; inorder(node.left); System.out.print(node.data + " "); inorder(node.right); } // Driver program to test above functions public static void main(String args[]) { BinaryTree tree = new BinaryTree(); 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.right = new Node(6); tree.root.left.left.left = new Node(7); tree.root.left.left.right = new Node(8); tree.root.right.right.left = new Node(9); tree.root.right.right.right = new Node(10); System.out.println("Inorder traversal of given tree is : "); tree.inorder(tree.root); tree.extractLeafList(tree.root); System.out.println(""); System.out.println("Extracted double link list is : "); tree.printDLL(tree.head); System.out.println(""); System.out.println("Inorder traversal of modified tree is : "); tree.inorder(tree.root); }}
OUTPUT:
Inorder Trvaersal of given Tree is: 7 4 8 2 5 1 3 9 6 10 Extracted Double Linked list is: 7 8 5 9 10 Inorder traversal of modified tree is: 4 2 1 3 6
- Get link
- X
- Other Apps
Comments
Post a Comment