1+ package Lecture21 ;
2+
3+ import Lecture21 .binaryTree .Node ;
4+
5+ public class rootToLeafTraversalTree {
6+
7+ public static void main (String [] args ) {
8+
9+ binaryTree btree = new binaryTree ();
10+ System .out .println ("\n ----------------------------------------\n " );
11+ btree .display ();
12+ System .out .println ("\n ------- root to leaf traversal -----------\n " );
13+ rootToLeaf (btree .root );
14+ }
15+
16+ public static void rootToLeaf (Node node ) {
17+ String initialOutput = "" ;
18+ rootToLeaf (node , initialOutput );
19+ }
20+
21+ private static void rootToLeaf (Node node , String currentPath ) {
22+ if (node == null ) {
23+ return ;
24+ }
25+ if (node .left == null && node .right == null ) {
26+ currentPath = currentPath + node .data ;
27+ System .out .println (currentPath );
28+ return ;
29+ }
30+
31+ rootToLeaf (node .left , currentPath + node .data + " => " );
32+ rootToLeaf (node .right , currentPath + node .data + " => " );
33+
34+ }
35+ }
36+
37+
38+
39+ /* output:
40+ Enter data for root node: 50
41+ Do you have left child for 50 -> true/false: true
42+ Enter data for left child of 50: 25
43+ Do you have left child for 25 -> true/false: true
44+ Enter data for left child of 25: 12
45+ Do you have left child for 12 -> true/false: false
46+ Do you have right child for 12 -> true/false: false
47+ Do you have right child for 25 -> true/false: true
48+ Enter data for right child of: 25: 68
49+ Do you have left child for 68 -> true/false: false
50+ Do you have right child for 68 -> true/false: false
51+ Do you have right child for 50 -> true/false: true
52+ Enter data for right child of: 50: 75
53+ Do you have left child for 75 -> true/false: true
54+ Enter data for left child of 75: 39
55+ Do you have left child for 39 -> true/false: false
56+ Do you have right child for 39 -> true/false: false
57+ Do you have right child for 75 -> true/false: true
58+ Enter data for right child of: 75: 49
59+ Do you have left child for 49 -> true/false: false
60+ Do you have right child for 49 -> true/false: true
61+ Enter data for right child of: 49: 63
62+ Do you have left child for 63 -> true/false: false
63+ Do you have right child for 63 -> true/false: false
64+
65+ ----------------------------------------
66+
67+ 25 => 50 <= 75
68+ 12 => 25 <= 68
69+ END => 12 <= END
70+ END => 68 <= END
71+ 39 => 75 <= 49
72+ END => 39 <= END
73+ END => 49 <= 63
74+ END => 63 <= END
75+
76+ ------- root to leaf traversal -----------
77+
78+ 50 => 25 => 12
79+ 50 => 25 => 68
80+ 50 => 75 => 39
81+ 50 => 75 => 49 => 63
82+ */
0 commit comments