File tree Expand file tree Collapse file tree 1 file changed +53
-0
lines changed
Data-Structure/Tree/Binary Tree/Checking And Printing Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Original file line number Diff line number Diff line change 1+ 'use strict' ;
2+ class Node {
3+ constructor ( data ) {
4+ this . data = data ;
5+ this . leftNode = this . rightNode = null ;
6+ }
7+ }
8+
9+ function printPathToNode ( root , pathArr , pathIndex , nodeData ) {
10+ if ( root == null ) return ;
11+ pathArr [ pathIndex ++ ] = ( root . data ) ;
12+ if ( root . data == nodeData ) {
13+ let pathStr = '' ;
14+ for ( let index = 0 ; index < pathIndex ; index ++ ) {
15+ pathStr = pathStr + pathArr [ index ] + ' ' ;
16+ }
17+ console . log ( pathStr ) ;
18+ return ;
19+ }
20+ else {
21+ printPathToNode ( root . leftNode , pathArr , pathIndex , nodeData ) ;
22+ printPathToNode ( root . rightNode , pathArr , pathIndex , nodeData ) ;
23+ }
24+ }
25+
26+ //level - 1
27+ let tree = new Node ( 1 ) ;
28+
29+ // level - 2
30+ tree . leftNode = new Node ( 2 ) ;
31+ tree . rightNode = new Node ( 3 ) ;
32+
33+ // level -3
34+ tree . leftNode . leftNode = new Node ( 4 ) ;
35+ tree . leftNode . rightNode = new Node ( 5 ) ;
36+
37+ tree . rightNode . leftNode = new Node ( 6 ) ;
38+ tree . rightNode . rightNode = new Node ( 7 ) ;
39+
40+ // level - 4
41+ tree . leftNode . leftNode . rightNode = new Node ( 8 ) ;
42+ tree . rightNode . rightNode . leftNode = new Node ( 10 ) ;
43+
44+ // Tree
45+ // 1
46+ // / \
47+ // 2 3
48+ // / \ / \
49+ // 4 5 6 7
50+ // \ /
51+ // 8 10
52+ let data = 10 ;
53+ printPathToNode ( tree , [ ] , 0 , data ) ;
You can’t perform that action at this time.
0 commit comments