File tree Expand file tree Collapse file tree 1 file changed +49
-0
lines changed
Data-Structure/Tree/Binary Tree/MIsc Expand file tree Collapse file tree 1 file changed +49
-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 isLeaf ( node ) {
10+ if ( node == null ) return false ;
11+ if ( node . leftNode == null && node . rightNode == null ) return true ;
12+ return false ;
13+ }
14+
15+ function deleteLeaf ( root , k ) {
16+ if ( root == null ) return null ;
17+ root . leftNode = deleteLeaf ( root . leftNode , k ) ;
18+ root . rightNode = deleteLeaf ( root . rightNode , k ) ;
19+ if ( root . data == k && isLeaf ( root ) ) return null ;
20+ return root ;
21+ }
22+
23+ function preOrderDisplay ( root ) {
24+ if ( root == null ) return null ;
25+ console . log ( root . data ) ;
26+ preOrderDisplay ( root . leftNode ) ;
27+ preOrderDisplay ( root . rightNode ) ;
28+ }
29+
30+ //level - 1
31+ let tree = new Node ( 6 ) ;
32+
33+ // level - 2
34+ tree . leftNode = new Node ( 5 ) ;
35+ tree . rightNode = new Node ( 4 ) ;
36+
37+ // level - 3
38+ tree . leftNode . leftNode = new Node ( 5 ) ;
39+ tree . leftNode . rightNode = new Node ( 5 ) ;
40+
41+ tree . rightNode . rightNode = new Node ( 5 ) ;
42+ // 6
43+ // / \
44+ // 5 4
45+ // / \ \
46+ // 5 5 5
47+ let k = 5 ;
48+ let newTree = deleteLeaf ( tree , k )
49+ preOrderDisplay ( newTree ) ;
You can’t perform that action at this time.
0 commit comments